簡體   English   中英

包含列表的字典列表

[英]List of Dictionaries which contain lists

隨着數據結構

dict_list [0] {key1: [1, 2, 3]
               key2: [4, 5, 6]
               key3: [7, 8, 9] 
               key4: [10, 11, 12]      }
          ...
          ...

          [4] {key13: [37, .., 39]
               key14: [40, .., ..]
               key15: [43, .., ..]
               key16: [46, .., 48] }

我想按列列出短列表中的每個部分,按字典按字典划分。

例如:

a = [1, 4, 7, 10]
b = [2, 5, 8, 11]
....
z = [39, .., .., 40]

創建這些列表(或元組)並將其作為* args發送到numpy函數,並且將針對每個列表a,b,c,d ..... z迭代該函數。

到目前為止我的代碼是:

 for i in range(len(read_list)): #iterating dictionary list to extract values
   for key, value in read_list[i].iteritems():
        print value[0]

這將1,4,7,10,12 .... 37 ..... 46打印在一個列表中,僅用於1列。 但我的問題是我需要輕松迭代4個塊和每個列,如上所述。 因為我將每個列表(az)傳遞給函數,因為參數是否有一個比我自己的想法更有效的數據結構?

嘗試使用zip並傳遞解壓縮dict_list值。
像這樣的東西 -

>>> [sorted(c) for e in dict_list for c in zip(*e.values())]
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12], [37, 40, 43, 46], [39, 41, 44, 47], [40, 42, 45, 48]]

編輯這是dict_list用於測試這個(從問題中的描述構建這個) -

dict_list = [
    {   
        "key1": [1, 2, 3],
        "key2": [4, 5, 6],
        "key3": [7, 8, 9],
        "key4": [10, 11, 12]
    },
    {   
        "key13": [37, 39, 40],
        "key14": [40,41,42] ,
        "key15": [43,44, 45] ,
        "key16": [46,47,48]
    }
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM