【问题标题】:Python find max in a list of lists [duplicate]Python在列表列表中找到最大值[重复]
【发布时间】:2021-02-24 11:29:19
【问题描述】:

我有以下形式的数据

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


    【解决方案1】:

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

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

    【讨论】:

    • 完美!谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 2021-02-24
    • 2012-10-20
    • 2023-01-02
    • 1970-01-01
    • 2019-11-10
    • 2021-01-01
    • 1970-01-01
    相关资源
    最近更新 更多