2011-06-15 84 views
-3

我正在嘗試使用pop從2維字典中刪除密鑰。我一直認爲forward_hash[first_key].pop(second_key)應該工作,但事實並非如此。如何從Python中的二維字典中刪除一個鍵?

+0

順便說一句,可以使用元組作爲字典的鍵:forward_hash [first_key,second_key] =等等。 – 2011-06-15 23:27:07

回答

4

這似乎爲我工作:

>>> forward_hash = {"first_key": {"second_key": "data"}} 
>>> forward_hash["first_key"].pop("second_key") 
'data' 
>>> forward_hash 
{'first_key': {}} 
2

如果你正在尋找從所有類型的字典中刪除second_key,你應該做的:

forward_hash = dict(a=dict(...), b=dict(...), ...) 
second_key = "blah" 
for d in forward_hash.itervalues(): 
    d.pop(second_key) 
+1

只有你真的設法看到什麼可能是真正的問題在這裏。好一個。 – 2011-06-15 21:51:45

0

似乎工作得很好,我:

>>> d = {'a': {'b': 'c'}} 
>>> 
>>> d 
{'a': {'b': 'c'}} 
>>> d['a'] 
{'b': 'c'} 
>>> d['a'].pop('b') 
'c' 
>>> d['a'] 
{} 
>>> 
1

不確定是否打算使用pop()。通常從字典中刪除一個關鍵我會用del操作:

>>> forward_hash = {"first_key": {"second_key": "data"}} 
>>> del forward_hash["first_key"]["second_key"] 
>>> forward_hash 
{'first_key': {}} 

的更多細節和使用類型的字典其他信息請參見this article