在python的元组列表中找到最大值

Jef*_*f F 2 python tuples list

我有一个元组列表(列表):

('2015-06-19', 3453455, 5, 'Scheduled')
('2015-05-19', 6786788, 6, 'Overdue')
('2015-04-19', 2342344, 2, 'Not Received')
('2015-03-19', 9438549, 0, 'Not Received')
('2015-02-19', 6348759, 7, 'Not Received')
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到了这个:

>>> print(max(list))
('2015-06-19', 3453455, 5, 'Scheduled')
Run Code Online (Sandbox Code Playgroud)

显然,max(list)根据元组列表中的第一个值确定最大值.我只是想知道这是否是关于元组列表的max(list)的默认行为; 只检查元组中的第一项?

而且,如果我想根据第二个项目/列返回具有最大值的元组,该怎么办?我该怎么办?

nom*_*mis 11

您可以使用lambdas指定要用于比较的字段

max(list,key=lambda x:x[1])
Run Code Online (Sandbox Code Playgroud)

或者,使用 itemgetter

from operator import itemgetter
max(list,key=itemgetter(1))
Run Code Online (Sandbox Code Playgroud)