gpt4 book ai didi

python - 将字典列表压缩到单个字典中?

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:20 25 4
gpt4 key购买 nike

我有一个字典列表,如下所示:

l = [{0: [1L, 743.1912508784121]}, {0: [2L, 148.34440427559701]}, {0: [5L, 1275.9155165676464]}, {0: [6L, 128.46132477853394]}, {0: [8L, 1120.5549823618721]}, {0: [9L, 1000.4359061629533]}, {0: [10L, 1000.4359061629533]}, {0: [11L, 1148.2027994669606]}, {0: [12L, 222.1206974476257]}, {0: [15L, 1024.0437005257695]}, {1: [8L, 606.0185176629063]}, {1: [13L, 115.54464589045607]}, {1: [14L, 1057.134622491455]}, {1: [16L, 1000.346200460439]}, {1: [17L, 285.73897308106336]}, {2: [3L, 941.8651982485691]}, {2: [4L, 1001.6313224538114]}, {2: [7L, 1017.0693313362076]}, {2: [11L, 427.7241587977401]}]

在这个特定的例子中,列表有 19 个字典和 3 个不同的键 (0,1,2)。

我想做的是将它转换成一个字典,其中每个键的值由另一个字典生成。

例如,提取列表的 4 个元素,我想压缩它:

   l = [{0: [1L, 743.1912508784121]}, {0: [2L, 148.34440427559701]}, {1: [13L, 115.54464589045607]}, {1: [14L, 1057.134622491455]}]

进入:

   d = {0:{1L: 743.1912508784121, 2L: 148.34440427559701}, 1:{13L: 115.54464589045607, 14L: 1057.134622491455}}

我希望我说清楚了

最佳答案

这会起作用,希望代码应该是不言自明的。

请注意,您需要在 Python 2.x 中使用 dictionary.iteritems(),因为 dictionary.items() 仅适用于 Python 3.x。

d ={}
for dictionary in l:
for key, (k, v) in dictionary.items():
if key not in d:
d[key] = {}
d[key][k] = v

关于python - 将字典列表压缩到单个字典中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40745525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com