从具有给定列表的字典中删除项目

deleting items from a dictionary with a given list

假设我有一本字典,它的键是...

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

假设我有一个值列表,其中包含上述字典的一些键。 假设

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

如何从 d 中删除密钥,这些密钥在 l.
中给出 P.S。一个 for 循环就足够了,但我正在寻找更好的方法。 使用列表理解的东西。

你应该使用 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]