2011-06-15 110 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