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

alv*_*vas 4 python tuples max find

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

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

但是如何找到第二元素的最大值?以及字符串的最大值怎么样?

Mar*_*ers 6

使用key参数:

import operator

max([a, b, c, d], key=operator.itemgetter(1))
Run Code Online (Sandbox Code Playgroud)

max()一个字符串的基于字符串的字节值; 'a'是高于'A'因为ord('a')高于ord('A').

对于示例输入,(241,"foobar")仍然是最大的价值,因为'f'> 'b''foobar'更长(多值)比'foo',以及'b'> ''(与b正在跟随的字母字符foo的长字符串).