从具有给定lis的词典中删除项

2024-04-24 09:01:01 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一本字典,它有如下形式的键

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

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

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

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


Tags: 方法列表for字典形式x1x2x3
1条回答
网友
1楼 · 发布于 2024-04-24 09:01:01

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

相关问题 更多 >