获取元组列表

时间:2018-03-19 11:56:52

标签: python list tuples

我有一个元组列表:

card_list= [(2, (1, S)), (0, (12, H)), (1, (5, C)]

此列表包含卡片:( cardindex,(value,suit))其中cardindex是存储卡片位置的索引,但与我的特定问题无关。

因此,在示例中,列表中有3张卡:

  • (2,(1,S))=黑桃王牌,指数为2.
  • (0,(12,H))=国王 指数为0
  • 的心
  • (1,(5,C))= 5指数为1的俱乐部

好吧,我的问题是:我希望获得具有最大值的项目,这是,我必须得到项目:(0,(12,H))

我的尝试是:

CardWithHighestValue= max(card_list,key=itemgetter(1)[0])

但是我得到了物品或价值?而最重要的是:这句话真的正确吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

替换

CardWithHighestValue= max(card_list,key=itemgetter(1)[0])

CardWithHighestValue= max(card_list,key=itemgetter(1))

<强>演示

from operator import itemgetter
card_list= [(2, (1, "S")), (0, (12, "H")), (1, (5, "C"))]
print max(card_list,key=itemgetter(1)) 

card_list= [(2, (1, "S")), (0, (4, "H")), (1, (5, "C"))]
print max(card_list,key=itemgetter(1))

<强>输出:

(0, (12, 'H'))
(1, (5, 'C'))

答案 1 :(得分:1)

您还可以使用匿名函数作为键:

演示:

print(max(card_list, key=lambda x:x[1]))

输出:

(0, (12, 'H'))