我有一个数组列表,比如:
a = [array([6,2]),array([8,3]),array([4,2])]
我尝试
max(a)
返回以下错误:ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我希望它返回一个列表或数组,如:
In: max(a)
Out: [8,3]
我不想把内部数组转换成list,因为list的大小很大。另外,我特意创建了这样的程序来执行数组操作。
最佳答案
最简单的方法是为了比较而转换成元组/列表(或者自己实现比较):
>>> max(a, key=tuple)
array([8, 3])
注意这是内置的
max
而不是np.max
编辑:
对于多维数组,使用
.tolist
方法:max(a, key=operator.methodcaller('tolist'))
关于python - 数组列表的python max,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13227578/