订购元组以获得最大元组项

时间:2015-02-05 00:26:49

标签: python

我如何获得具有最高season_number的项目的episode_id?

items = [(episode_id, season_number), (1234, 1), (3131, 0), (88, 2)]
episode_num_of_highest_season_number(items) = 88

我正在思考以下几点:

sorted(items, key=item[1])

3 个答案:

答案 0 :(得分:1)

你可以这样做:

import operator
print(sorted(items, key=operator.itemgetter(1))[-1][0])

确实按每个元组中的第二个元素排序,并返回排名最高的项目的第一个值(然后位于列表的末尾)。

答案 1 :(得分:0)

你可以这样做:

sorted(l, key=lambda item: -item[1])[0][0]

以下是一些更多信息:

https://wiki.python.org/moin/HowTo/Sorting

答案 2 :(得分:0)

如果您只需要最大值,则无需排序。只需使用max()函数和适当的密钥:

from operator import itemgetter
max(items, key=itemgetter(1))[0]

operator.itemgetter(i)相当于函数lambda x: x[i]