引用列表中的元组

时间:2015-04-22 10:40:23

标签: python tuples

这是我目前的代码

scores = [0,2,0,1,0]
enumeratedScores = list(enumerate(scores))
print(enumeratedScores) # outputs [(0,0), (1,2), (2,0), (3,1), (4,0)]

从那里开始,我试图根据元组的第二个值拉出该列表中最大的元组。在这种情况下,我希望它返回元组(1,2),但是在我的实现中,它返回元组(4,0)。我是元组的新手。我会用什么代码来实现这个目标?

3 个答案:

答案 0 :(得分:2)

您可以将max函数的命名key参数与operator.itemgetter一起使用:

>>> import operator
>>> enumeratedScores = [(0,0), (1,2), (2,0), (3,1), (4,0)]
>>> max(enumeratedScores, key = operator.itemgetter(1))
(1, 2)

答案 1 :(得分:1)

您可以将max功能与key属性一起使用。

>>> l = [(0,0), (1,2), (2,0), (3,1), (4,0)]
>>> max(l, key=lambda x: x[1])
(1, 2)

答案 2 :(得分:1)

如果需要,您可以对enumeratedScores进行排序,然后摘下第一个元素:

sorted(enumeratedScores, key=lambda tup: (tup[1], tup[0]), reverse=True)[0]