gpt4 book ai didi

Python - 根据内部列表的第一个元素对列表列表中的元素求和

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:53 27 4
gpt4 key购买 nike

我有一个 list

[[0.5, 2], [0.5, 5], [2, 3], [2, 6], [2, 0.6], [7, 1]]

我需要将每个子列表中的第二个元素相加得到唯一的第一个元素的输出。在这种情况下是:

[[0.5, 7], [2, 9.6], [7, 1]]

在哪里[0.5, 7]正在对 [0.5, 2] 的第二个元素求和和 [0.5, 5] .

对于长度为 1,000 的列表,执行此操作的最有效方法是什么。

最佳答案

累积 defaultdict :

>>> from collections import defaultdict
>>> data = defaultdict(int)
>>> L = [[0.5, 2], [0.5, 5], [2, 3], [2, 6], [2, 0.6], [7, 1]]
>>> for k, v in L:
... data[k] += v
...
>>> [[k,v] for (k,v) in data.items()]
[[0.5, 7], [2, 9.6], [7, 1]]

请注意,2 的值通过加法自动“提升”为 float ,即使这是 int 的默认字典。这是为了匹配问题中发布的所需输出,但我认为您应该考虑使用同类输出类型,而不是混合使用 int 和 float。

关于Python - 根据内部列表的第一个元素对列表列表中的元素求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52267008/

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