我有一個由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 2012-07-09 18:10:13
@ inspectorG4dget只是在那裏運行的確切代碼,並有回溯錯誤'文件「C:\ Python27 \ test.py」 ,第24行,主 newresults [index] = x [u'sub_key'] IndexError:列表分配索引超出範圍 – adohertyd 2012-07-09 18:16:21
如果'newresults'是您發佈爲'new_dict'並且是'list'的列表, ,然後嘗試'append'ing它,而不是分配給一個尚不存在的索引 – inspectorG4dget 2012-07-09 18:33:34