元组python中的最大秒元素

元组python中的最大秒元素,python,list,tuples,Python,List,Tuples,可能重复: 我写了一个程序,给我一个元组列表。我需要抓取第二个值中最大值的元组 (840, 32), (841, 3), (842, 4), (843, 4), (844, 6), (845, 6), (846, 12), (847, 6), (848, 10), (849, 4), ..snip... 我需要返回(840,32),因为32是元组中第二个最高的数字。我怎样才能做到这一点?我尝试了多种方法,但始终被困在这里是完整的代码: D = {} def divis

可能重复:

我写了一个程序,给我一个元组列表。我需要抓取第二个值中最大值的元组

    (840, 32), (841, 3), (842, 4), (843, 4), (844, 6), (845, 6), (846, 12), (847, 6), (848, 10), (849, 4), ..snip...
我需要返回(840,32),因为32是元组中第二个最高的数字。我怎样才能做到这一点?我尝试了多种方法,但始终被困在这里是完整的代码:

    D = {}
    def divisor(n):
        global D
        L = []
        for i in range(1,n+1):
        if n % i == 0:
            L.append(i)
            D[n] = len(L)

    for j in range(1001):
        divisor(j)


    print(D.items())
与lambda一起使用:

In [22]: lis=[(840, 32), (841, 3), (842, 4), (843, 4), (844, 6), (845, 6), (846, 12), (847, 6), (848, 10), (849, 4)]

In [23]: max(lis, key=lambda x:x[1])
Out[23]: (840, 32)
或:


谢谢你的帮助!这就解决了这个问题。请注意,对于这种密钥,操作符.itemgetter比lambda更受欢迎function@cravoori完全同意,我总是忘记使用它。(因为lambda是直截了当的,不需要导入任何库)
In [24]: import operator 

In [25]: max(lis, key=operator.itemgetter(1))
Out[25]: (840, 32)