2024-09-28 01:33:08 发布
网友
我有三个字符串的列表:
["Apple", "Orange", "Pear"]
我有一个列表,每个列表包含3个浮点值:
我需要对嵌套列表中每个索引点的内部列表元素求和,并以以下格式输出:
[[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')]
在上面的代码中
将把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它。就这样:-)
fruits
zip
因为您使用的是python3.x,其中zip返回一个迭代器而不是一个列表,所以您需要像这样获得列表
list(zip(map(sum, zip(*values)), fruits))
如果您想在没有zip和map的情况下执行此操作,可以使用
map
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
在上面的代码中
^{pr2}$将把
values
列表中所有相应的元素放在一起。它会产生现在,我们可以把它们加起来,这样就可以了
它查找
values
列表中所有相应元素的和。结果会是这样现在,我们要做的就是将它映射到对应的
fruits
,所以我们只需zip
它。就这样:-)因为您使用的是python3.x,其中
zip
返回一个迭代器而不是一个列表,所以您需要像这样获得列表如果您想在没有
zip
和map
的情况下执行此操作,可以使用相关问题 更多 >
编程相关推荐