2017-06-20 235 views
-7

我有下面的數據結構呼叫letters_dict:Python的迭代多值嵌套字典

'aa': {'Price': '147,130,104,24,19', 
     'Qty': '262,53,65,80,185,210', 
     'Time': '51302324915,51308461317,51316258845,51324326568'}, 

'bb': {'Price': '196,203,209,177,150,160,160,180,194', 
     'Qty': '129,268,225,228,176,76,17,45,207,61,143,195,230,97', 
     'Time': '51305086913,51314981179,51323072726,51435766657,51597990966'}} 

欲遍歷外字典的每個項目,然後內的值,價格數量和時間,然後每個價格在數量和時間內進行數據處理。做這個的最好方式是什麼?

使用key_level2在使用key_level1和val_level1,然後再遍歷內在價值外值
+1

請顯示您到目前爲止嘗試過的內容 – kuro

+0

另外,內部字典中的值是逗號分隔值的*字符串*。 –

回答

0

首先迭代,val_level2:

for key_level1, val_level1 in r.items(): 
     for key_level2, val_level2 in val_level1.items(): 
      for val in val_level2.split(','): 
       # Example: 
       # do something 
       print(key_level1, key_level2, val) 
+0

那還是打印整個字典不只是價格 – Jaron787

+0

這還是不會遍歷價格表中的每個逗號分隔值 – Jaron787

+0

@ Jaron787,終於明白了你的要求。我想這就是你要求的...(編輯答案) – nikpod

0
for key_1 in letters_dict: 
    for key_2 in letters_dict[key_1]: 
     for value in letters_dict[key_1][key_2].split(','): 

這是我最簡單的方法(並不意味着最好的) 。 我不知道爲什麼你甚至沒有嘗試過......

+0

AttributeError:'dict'對象沒有'split'屬性 – Jaron787

+0

是的,編輯了答案。 –