13

是否有一种方法可以执行以下操作?

myDict = {}
if 'key' in myDic:
    del myDic['key']

谢谢

4

3 回答 3

22

You can write

myDict.pop(key, None)
于 2012-02-21T12:02:47.580 回答
4

除了pop方法之外,人们总是可以显式地调用__delitem__方法——它的作用与 相同del,但它是作为表达式而不是作为语句来完成的。由于它是一个表达式,它可以与内联“if”(Python 版本的 C 三元运算符)结合使用:

d = {1:2}

d.__delitem__(1) if 1 in d else None
于 2012-02-21T13:42:45.770 回答
0

你会称这是一个单一的班轮:

>>> d={1:2}
>>> if 1 in d: del d[1]
... 
>>> d
{}
于 2012-02-21T12:17:12.990 回答