我有一个数组列表,比如:

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/

10-14 18:04
查看更多