2011-03-17 77 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