Python del如果在一行中的字典中

时间:2012-02-21 11:59:45

标签: python dictionary del

是否有单行方式进行以下操作?

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

感谢

3 个答案:

答案 0 :(得分:20)

你可以写

myDict.pop(key, None)

答案 1 :(得分:2)

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

d = {1:2}

d.__delitem__(1) if 1 in d else None

答案 2 :(得分:0)

你能称之为一个班轮:

>>> d={1:2}
>>> if 1 in d: del d[1]
... 
>>> d
{}