我有一个元组列表(列表):
('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')
当我运行时,我明白了:
>>> print(max(list))
('2015-06-19', 3453455, 5, 'Scheduled')
显然,max(list)根据元组列表中的第一个值确定最大值。我只是想知道这是否是关于元组列表的max(list)的默认行为;只检查元组中的第一项?
而且,如果我想根据第二个项目/列返回最大元组,该怎么办?我该怎么做?
答案 0 :(得分:10)
您可以使用lambdas
指定要用于比较的字段ContactId
或者使用max(list,key=lambda x:x[1])
itemgetter