使用给定列表从字典中删除项目

时间:2015-02-27 19:03:10

标签: python dictionary

假设我有一个字典,其中包含格式为......的键

d = { 'x1' : (.....) , 'x2' : (......) ,'x3' : (.......) .....}

假设我有一个包含上述字典的某些键的值列表。 让我们说

l = ['x2','x3'..]

如何从d中删除l中的密钥 附:一个for循环应该足够了,但我正在寻找更好的方法。 使用列表理解的东西。

1 个答案:

答案 0 :(得分:2)

您应该使用del

for k in l:
   del d[k]

另外,检查元素是否存在是个好主意:

for k in l:
    if k in d:
         del d[k]

但更简单,要捕捉异常:

for k in l:
    try:
        del d[k]
    except KeyError:
        print 'No such key', k

我建议您使用official documentation

如果你想使用理解:

[d.pop(k, None) for k in l]