查找元组中第二个元素的最大值-Python

查找元组中第二个元素的最大值-Python,python,find,tuples,max,Python,Find,Tuples,Max,给定一个元组列表,我可以通过以下方式找到元组列表中第一个元素的最大值: >>> a,b,c,d = (4,"foo"),(9,"bar"),(241,"foobar"), (1,"barfoo") >>> print max([a,b,c,d]) (241,"foobar") 但是找到第二个元素的最大值怎么样?字符串的最大值是多少?使用键参数: import operator max([a, b, c, d], key=operator.itemgette

给定一个元组列表,我可以通过以下方式找到元组列表中第一个元素的最大值:

>>> a,b,c,d = (4,"foo"),(9,"bar"),(241,"foobar"), (1,"barfoo")
>>> print max([a,b,c,d])
(241,"foobar")

但是找到第二个元素的最大值怎么样?字符串的最大值是多少?

使用
参数:

import operator

max([a, b, c, d], key=operator.itemgetter(1))
字符串的
max()
基于字符串的字节值
'a'
高于
'a'
,因为
ord('a')
高于
ord('a')


对于您的示例输入,
(241,“foobar”)
仍然是最大值,因为
'f'
'b'
'foobar'
'foo'
'b'
(其中
b
是较长字符串中字母
foo
后面的字符).

更短的方法是使用lambda作为可调用对象

max([a, b, c, d], key=lambda t: t[1])