【发布时间】:2012-07-09 04:16:57
【问题描述】:
我有一个包含 JSON 结果的 python 字典。该字典包含一个嵌套字典,其中包含一个包含嵌套字典的嵌套列表。还在我这儿?这是一个例子:
{'hits':{'results':[{'key1':'value1',
'key2':'value2',
'key3':{'sub_key':'sub_value'}},
{'key1':'value3',
'key2':'value4',
'key3':{'sub_key':'sub_value2'}}
]}}
我想从字典中得到每个sub_key 的sub_vale 并将其存储在不同的列表中。无论我尝试什么,我都会不断出错。
这是我最后一次尝试:
inner_list=mydict['hits']['results']#This is the list of the inner_dicts
index = 0
for x in inner_list:
new_dict[index] = x[u'sub_key']
index = index + 1
print new_dict
它打印了前几个结果,然后开始返回原始字典中的所有内容。我无法理解它。如果我用print 语句替换new_dict[index] 行,它会完美地打印到屏幕上。真的需要一些意见!
for x in inner_list:
print x[u'sub_key']
【问题讨论】:
-
请张贴错误的输出。该程序看起来是正确的,所以我感觉我不明白它在做什么,这与您的预期相反
-
@inspectorG4dget 刚刚在那里运行了确切的代码并得到了回溯错误
File "C:\Python27\test.py", line 24, in main newresults[index] = x[u'sub_key'] IndexError: list assignment index out of range -
如果
newresults是您发布为new_dict的内容并且是list,那么尝试appending 给它,而不是分配给一个还没有的索引存在
标签: python list dictionary for-loop