python - 返回列表的最高值

标签 python list

您好,我有几个列表,我正在尝试分别创建一个新的最高值列表。例如,这些是列表:

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/

相关文章:

ios - 在 Realm 数据库的 TableView 中显示项目列表

python - 将 Pandas 数据框转换为命名元组列表

Python 2.7 : applying str to collections. 计数器和 collections.defaultdict

python - 遵循 Django 照片应用程序教程时解码器 JPEG 不可用错误

python - 为什么 wx.Yield() 在 Windows 下显然没有屈服

generics - 具有顺序布局和包大小的值类型的通用列表-> BUG?

python - 列表中的第 n 个重复元素

C# linq 列表查找最接近的数字

python - 使用 pip 在 ubuntu 上安装 prettytable 时出错

python - 将列表合并到字典列表中