从包含词典列表的列表中获取一个词典列表

时间:2018-06-20 14:03:32

标签: list dictionary

我有一个包含字典列表的列表。

有29个不同的年份,每年有20个词典,其中每个词典构成一个特定的单词字段并包含单词,每个单词都有一个值。

我想为每个单词字段创建一个词典,其中每个单词都有29个值(每年一个)。

所以不是

[[{'Apple': 0.4, 'Banana': 0.6}, {'Chocolate': 0.5, 'Chips': 0.5}],
[{'Apple': 0.6, 'Banana': 0.4}, {'Chocolate': 0.6, 'Chips': 0.4}],
[{'Apple': 0.8, 'Banana': 0.2}, {'Chocolate': 0.1, 'Chips': 0.9}]]

我想要这样的东西:

[[{'Apple': [0.4, 0.6, 0.8], 'Banana': [0.6, 0.4, 0.2]}, {'Chocolate': [0.5, 0.6, 0.1], 'Chips': [0.5, 0.4, 0.9]}]

我已经尝试了几个小时,并且想使用类似{p>

defaultdict

,但在这种情况下,列表totaldict = defaultdict(list) for d in (topics[0]): # create dictionary for first word field for key, value in d.items(): totaldict[key].append(value) 的结构应如下:

topics

可能有一种重组列表的简便方法,但我不知道如何。我怎样才能做到这一点?或者,也许还有另一种方法可以使每年的单个词典包含多个值。

1 个答案:

答案 0 :(得分:0)

可以使用numpy数组来转换列表。

topics = np.array(topics)

totaldict = defaultdict(list)
for d in (topics[:,0]): # create dictionary for first word field
    for key, value in d.items():
        totaldict[key].append(value)