更多、更及时内容欢迎留意微信公众号: 小窗幽记机器学习
背景
在求二维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