首页 > 解决方案 > Python在列表列表中查找最大值

问题描述

我有以下形式的数据

data = [["one", 1], ["three", 3], ["two", 2]]

从这个列表中,我想找到第二项最大的子列表。
我可以这样做:

max_i = max([i[1] for i in data])
[i for i in filter(lambda i: i[1] == max_i, data)][0]

但这似乎不是很优雅的语法。有没有更好的语法更清晰的方法?

标签: python

解决方案


maxfunction 还接受一个key参数,该参数指定一个参数排序函数。

>>> data = [["one", 1], ["three", 3], ["two", 2]]
>>> max(data, key=lambda x: x[1])
['three', 3]

推荐阅读