Python 从具有给定列表的词典中删除项
假设我有一本字典,它的键是Python 从具有给定列表的词典中删除项,python,dictionary,Python,Dictionary,假设我有一本字典,它的键是 d = { 'x1' : (.....) , 'x2' : (......) ,'x3' : (.......) .....} 假设我有一个值列表,其中包含上述字典中的一些键。 比方说 l = ['x2','x3'..] 如何从d中删除l中给出的键 另外,一个for循环应该足够了,但我正在寻找更好的方法。 使用列表理解的东西。你应该使用del: for k in l: del d[k] 此外,最好检查元素是否存在: for k in l: if k
d = { 'x1' : (.....) , 'x2' : (......) ,'x3' : (.......) .....}
假设我有一个值列表,其中包含上述字典中的一些键。
比方说
l = ['x2','x3'..]
如何从d
中删除l
中给出的键另外,一个
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
我建议你使用
如果您想使用理解:
[d.pop(k, None) for k in l]
你为什么要用列表来理解这一点?你没有在这里建立一个列表。使用
del
的简单for循环是非常好的。请不要再往下投票。。。