2011-03-17 73 views
9

这是我的代码:最佳方式字典

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

但是这会产生错误。 从Python字典中弹出多个元素的最简单方法是什么?

回答

17

如何简单:

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

这是一个不错的,简单而干净的方法来去除* *几个要素。如果你想弹出它们,你可能会发现没有比在列表理解中使用弹出更简单的解决方案。虽然它不完全“卫生”,但它是他想要的;) – 2011-03-17 01:52:16

3

如果我理解正确的话,你想要什么,这应该做的伎俩:

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

要小心,虽然,因为pop是破坏性的,即它修改你的字典。

17

使用列表理解:

a = {'key1':'value1','key2':'value2','key3':'value3'} 
print [a.pop(key) for key in ['key1', 'key3']] 
0
a={'aa':'aaaa','bb':'bbbbb','cc':'ccccc'} 
remove = ['aa', 'cc'] 
newA = dict([(k, v) for k,v in a.items() if k not in remove]) 
+0

您错过了“打印”部分... – 2015-04-21 03:42:15