python - 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]
但这似乎不是很优雅的语法。有没有更好的语法更清晰的方法?
解决方案
max
function 还接受一个key
参数,该参数指定一个参数排序函数。
>>> data = [["one", 1], ["three", 3], ["two", 2]]
>>> max(data, key=lambda x: x[1])
['three', 3]
推荐阅读
- mysql - 骡子中的亚马逊极光
- java - Google Place Api:来自此 Android 客户端应用程序 com.package.name 的请求被阻止
- .net - 如何在 Rio play 2.0 中播放视频
- logic - 符号模型是什么样的
- node.js - 未找到护照身份验证中间件资源
- php - php,pdo 引导模型更新查询不起作用
- windows - Windows 10 上的 aforge.video、ffmpeg
- java - Spring:如何在投影中使用SpEL表达式
- reactjs - Auth.currentUser Info() 不显示用户属性反应 Native Aws App
- python-2.7 - 安装python包时出现egginfo错误