包含列表的词典列表

2024-03-29 06:28:28 发布

您现在位置:Python中文网/ 问答频道 /正文

使用数据结构

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,并且只打印一列。但我的问题是,我需要像上面描述的那样,轻松地迭代出每个列的4块和。既然我将把每个列表(a-z)作为参数传递给函数,那么有没有比我自己的想法更有效的数据结构呢?你知道吗


Tags: 函数in数据结构列表forreadvaluedict
1条回答
网友
1楼 · 发布于 2024-03-29 06:28:28

尝试使用^{}并传递dict_listunpacked
像这样的-

>>> [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]
    }
]

相关问题 更多 >