数组列表的python最大值

Thi*_*iru 7 python arrays list max

我有一个数组列表,如:

a = [array([6,2]),array([8,3]),array([4,2])]
Run Code Online (Sandbox Code Playgroud)

我试过max(a)它返回以下错误:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)

我希望它返回一个列表或数组,如:

In: max(a)
Out: [8,3]
Run Code Online (Sandbox Code Playgroud)

我不想将内部数组转换为列表,因为列表的大小非常大。我也故意创建这样的来执行数组操作。

JBe*_*rdo 5

最简单的方法是为了比较(或自己实现比较)转换为元组/列表:

>>> max(a, key=tuple)
array([8, 3])
Run Code Online (Sandbox Code Playgroud)

请注意,这是内置max而不是np.max

编辑:

对于多维数组,使用.tolist方法:

max(a, key=operator.methodcaller('tolist'))
Run Code Online (Sandbox Code Playgroud)