在Python中的元组列表中找到最大值 [英] Find the maximum value in a list of tuples in Python

查看:381
本文介绍了在Python中的元组列表中找到最大值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
排序或查找最大值嵌套列表中第二个元素的值. Python

Possible Duplicate:
Sorting or Finding Max Value by the second element in a nested list. Python

我有一个包含〜10 ^ 6个元组的列表,如下所示:

I have a list with ~10^6 tuples in it like this:

[(101, 153), (255, 827), (361, 961), ...]
  ^     ^
  X     Y

我想在此列表中找到Y的最大值,但也想知道绑定到的X.

I want to find the maximum value of the Ys in this list, but also want to know the X that it is bound to.

我该怎么做?

推荐答案

使用max():


使用itemgetter():

In [53]: lis=[(101, 153), (255, 827), (361, 961)]

In [81]: from operator import itemgetter

In [82]: max(lis,key=itemgetter(1))[0]    #faster solution
Out[82]: 361

使用lambda:

In [54]: max(lis,key=lambda item:item[1])
Out[54]: (361, 961)

In [55]: max(lis,key=lambda item:item[1])[0]
Out[55]: 361

timeit比较:

In [30]: %timeit max(lis,key=itemgetter(1))
1000 loops, best of 3: 232 us per loop

In [31]: %timeit max(lis,key=lambda item:item[1])
1000 loops, best of 3: 556 us per loop

这篇关于在Python中的元组列表中找到最大值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆