您好,我有几个列表,我正在尝试分别创建一个新的最高值列表。例如,这些是列表:
list1 = 5, 1, 4, 3
list2 = 3, 4, 2, 1
list3 = 10, 2, 5, 4
这是我希望它返回的内容:[10, 4, 5, 4]
我以为我可以做这样的事情:largest = list(map(max(list1, list2, list3)))
但我收到一个错误,指出 map 需要 1 个以上的参数。我还以为我可以写 if, elif 语句大于,但它似乎只执行第一个值并将该列表作为“更大的值”返回
谢谢你的帮助
最佳答案
这是“zip splat”技巧:
>>> lists = [list1, list2, list3]
>>> [max(col) for col in zip(*lists)]
[10, 4, 5, 4]
您还可以使用 numpy 数组:>>> import numpy as np
>>> np.array(lists).max(axis=0)
array([10, 4, 5, 4])
关于python - 返回列表的最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67783563/