답변
하나는 항상 명시 적으로 __delitem__
메소드를 호출 할 수
>>> d={1:2}
>>> if 1 in d: del d[1]
...
>>> d
{}
고마워, 정확히 내가 원했던 것 – scruffyDog
'key'가 myDic (myDict와 다른)에있는 경우에만 제거해야한다. –
@MichelKeijzers : 정말로 오타가 아닌 것 같니? –
를 작성할 수
myDict = {}
if 'key' in myDic:
del myDic['key']
감사
아니, 아니. –
걱정하지 마시고 pop (key, None) 옵션을 사용하십시오. –
두 줄이므로 [PEP 8] (http://www.python.org/dev/peps/pep-0008/)에서 허용하지 않는 형식으로 한 줄로 그냥 훑어보기 때문에 한 줄이 아니라 한 줄이라고 부릅니다. 내가 이런 식으로하지 않는 다른 두 가지 이유는 (a) 짧고 예쁘지 않다. (b) 사전 이름과 키를 한번씩 두 번 언급해야한다. 동일한 인수가'd.get (k, v)'와 비교하여'd [k]가'd else'v''에 적용됩니다. –
pop
방법 외에도을 - del
과 동일하지만 표현보다는 오히려 표현에 영향을 미친다. 표현식이므로 인라인 "if"(파이썬의 C 삼자 연산자)와 결합 할 수 있습니다.
d = {1:2}
d.__delitem__(1) if 1 in d else None
먼저 dict 문서를 읽으십시오. –
@ user683111 : 당신을 위해 일했다면 답을 받아 들여야합니다 :) – avasal
[사전에서 키를 제거하는 방법?] (http://stackoverflow.com/questions/11277432/how-to-remove- a-key-from-dictionary) – strongMA