를 올리지 않고 사전에서 키를 삭제하는 한 줄 방법이 KeyError
있습니까?
if 'key' in my_dict:
del my_dict['key']
를 올리지 않고 사전에서 키를 삭제하는 한 줄 방법이 KeyError
있습니까?
if 'key' in my_dict:
del my_dict['key']
키가 사전에 있는지 여부에 관계없이 키를 삭제하려면 두 인수 형식을 사용합니다 dict.pop()
.
my_dict.pop('key', None)
사전에 존재하는 my_dict[key]
경우 반환 되고 그렇지 않은 경우 반환됩니다. 두 번째 매개변수가 지정되지 않고(즉 ) 존재하지 않으면 a 가 발생합니다.key
None
my_dict.pop('key')
key
KeyError
존재가 보장된 키를 삭제하려면 다음을 사용할 수도 있습니다.
del my_dict['key']
KeyError
키가 사전에 없으면 발생합니다 .
특히 "이 작업을 수행하는 한 줄 방법이 있습니까?"
if 'key' in my_dict: del my_dict['key']
...글쎄, 당신이 물었 습니다 ;-)
dict
그러나 a에서 객체를 삭제하는 이 방법은 원자적이지 않다는 점 을 고려해야 합니다. 이는 명령문 중에 있을 'key'
수 있지만 가 실행되기 전에 삭제될 수 있으며, 이 경우 . 이를 감안할 때 다음 중 하나를 사용하는 것이 가장 안전 합니다.my_dict
if
del
del
KeyError
dict.pop
try:
del my_dict['key']
except KeyError:
pass
물론 이것은 한 줄짜리 가 아닙니다 .
정확히 무엇을 하는지 파악하는 데 시간이 좀 걸렸습니다 my_dict.pop("key", None)
. 따라서 다른 사람들이 인터넷 검색 시간을 절약하기 위해 이것을 답변으로 추가하겠습니다.
pop(key[, default])
key 가 사전에 있으면 제거하고 값을 반환하고 그렇지 않으면 default 를 반환 합니다. 기본값 이 제공되지 않고 키 가 사전에 없으면 발생
KeyError
합니다.
[python] Python에서 문자열의 하위 문자열을 얻으려면 어떻게 해야 합니까? (0) | 2022.08.28 |
---|---|
[python] 목록의 마지막 요소를 어떻게 얻습니까? (0) | 2022.08.28 |
[python] Pandas에서 열 이름 바꾸기 (0) | 2022.08.28 |
[python] 주어진 키가 사전에 이미 존재하는지 확인 (0) | 2022.08.28 |
[python] 현재 디렉토리와 파일의 디렉토리 찾기 [중복] (0) | 2022.08.28 |