gpt4 book ai didi

python - 对嵌套列表中每个索引点的浮点值求和

转载 作者:行者123 更新时间:2023-11-28 21:20:13 25 4
gpt4 key购买 nike

我有一个包含 3 个字符串的列表:

["Apple", "Orange", "Pear"]

我有一个列表列表,每个列表包含 3 个浮点值:

[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]

我需要对嵌套列表中每个索引点的内部列表元素求和,并以以下格式输出:

[[0.5, "Apple"], [0.7, "Orange"], [0.9, "Pear"]]

我边学边学,但这超出了我目前所知道的范围。任何关于如何实现这一目标的建议都会很棒。

最佳答案

fruits, values = ["Apple", "Orange", "Pear"], [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]
print zip(map(sum, zip(*values)), fruits)
# [(0.5, 'Apple'), (0.7, 'Orange'), (0.8999999999999999, 'Pear')]

在上面的代码中,

zip(*values)

会一起获取values列表中的所有对应元素。会产生

[(0.1, 0.4), (0.2, 0.5), (0.3, 0.6)]

现在,我们可以添加它们了

map(sum, zip(*values))

它找到 values 列表中所有对应元素的总和。结果是这样的

[0.5, 0.7, 0.8999999999999999]

现在,我们所要做的就是将它映射到相应的fruits,因此我们只需zip 即可。就是这样:-)

因为您使用的是 Python 3.x,其中 zip 返回迭代器而不是列表,您需要像这样获取列表

list(zip(map(sum, zip(*values)), fruits))

如果你想在没有zipmap的情况下做到这一点,你可以使用

result = []
for i in range(len(fruits)):
total = 0
for j in range(len(values)):
total += values[j][i]
result.append([total, fruits[i]])
print result

关于python - 对嵌套列表中每个索引点的浮点值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109198/

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