从Python字典中弹出多个元素的最佳方法

48 投票
7 回答
64806 浏览
提问于 2025-04-16 13:52

这是我的代码:

a = dict(aa='aaaa', bb='bbbbb', cc='ccccc', ...)
print(a.pop(['cc', ...]))

但是这会报错。有什么简单的方法可以从一个Python字典中删除多个元素呢?

7 个回答

6

如果我理解得没错,你想要的这个方法应该可以解决你的问题:

print [a.pop(k) for k in ['cc', ...]]

不过要小心,因为 pop 是一种破坏性操作,也就是说它会改变你的字典内容。

38

使用列表推导式:

a = {'key1':'value1','key2':'value2','key3':'value3'}
print [a.pop(key) for key in ['key1', 'key3']]
67

这样简单的怎么样:

for e in ['cc', 'dd',...]: 
  a.pop(e)

撰写回答