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