在python元组列表中查找最大值
我有一个元组列表(列表): 当我运行此程序时,我得到以下结果:在python元组列表中查找最大值,python,list,tuples,Python,List,Tuples,我有一个元组列表(列表): 当我运行此程序时,我得到以下结果: >>> print(max(list)) ('2015-06-19', 3453455, 5, 'Scheduled') 显然,max(list)根据元组列表中的第一个值确定max。我只是想知道这是否是max(list)关于元组列表的默认行为;是否仅检查元组中的第一项 如果我想返回基于第二个项/列的最大值的元组呢。我该怎么做?您可以使用lambdas指定用于比较的字段 max(list,key=lambda x:
>>> print(max(list))
('2015-06-19', 3453455, 5, 'Scheduled')
显然,max(list)根据元组列表中的第一个值确定max。我只是想知道这是否是max(list)关于元组列表的默认行为;是否仅检查元组中的第一项
如果我想返回基于第二个项/列的最大值的元组呢。我该怎么做?您可以使用lambdas指定用于比较的字段
max(list,key=lambda x:x[1])
或者,使用itemgetter
from operator import itemgetter
max(list,key=itemgetter(1))
看到这一点:如果任何元组的第一个值匹配,它将检查后续的值。如果您愿意,可以更改此行为:
max(tup\u list,key=lambda x:x[1])
答案很好,我总是更喜欢更快的itemgetter
from operator import itemgetter
max(list,key=itemgetter(1))