假设我有一个列表arr=[[1,2,3],[4,5,6],[7,8,9]]
,此处最大元素为9
,且1 d列表中的最大元素为[3,6,9]
。
答案 0 :(得分:2)
使用嵌套理解展平数组,以获取所有元素的最大值:
>>> max(x for row in arr for x in row)
9
对每行的最大值使用列表推导:
>>> [max(row) for row in arr]
[3, 6, 9]
注意:列表comp比使用map(max, arr)
稍快一些。如果您想要比纯Python循环更好的性能,请考虑使用numpy
。
答案 1 :(得分:1)
>>>import numpy as np
>>>array=np.random.rand(3,3)
>>>print(array)
>>>print(array.max(axis=1))
>>>[[ 0.76562624 0.45225107 0.74276688]
[ 0.84390255 0.03384166 0.40036534]
[ 0.00371805 0.47996941 0.15593055]]
>>>[ 0.76562624 0.84390255 0.47996941]
>>>arr=[[1,2,3],[4,5,6],[7,8,9]]
>>>print(list(map(max,arr)))
>>>[3,6,9]
>>>print(max(map(max,arr)))
>>>9
>>>print(array.max())
答案 2 :(得分:0)
>>> arr=[[1,2,3],[4,5,6],[7,8,9]]
>>> max_row = map(max, arr)
>>> list(max_row)
[3, 6, 9]
>>> maxmax = max(max_row)
>>> maxmax
9
>>> _