从具有给定列表的字典中删除项目
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]
假设我有一本字典,它的键是...
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]