更多、更及时内容欢迎留意微信公众号小窗幽记机器学习

背景

在求二维list中最大值时, 不加思考地使用2层max函数,如max(max(list_data)),但是返回结果是错误的。为此,重新梳理下这个错误的知识点。

二维数组求最大值

a=[[1,2], [2,5], [3,4]] 
max(a)            

输出结果如下:

>>> a=[[1,2], [2,5], [3,4]] 
>>> max(a)
[3, 4]

可以看出,第一次调用max其实是按照元素里面的第一个元素的排列顺序,输出最大值。如果第一个元素相同,则比较第二个元素,输出最大值。那如何求二维list的最大值呢?
一种方式是使用 numpy,另一种方式是使用map函数。

使用 numpy

>>> import numpy as np
>>> np.max(a)
5

使用map函数

a=[[1,2], [2,5], [3,4]] 
max(map(max, a))

运行结果如下:

>>> a=[[1,2], [2,5], [3,4]] 
>>> max(map(max, a))
5
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐