我有一个元组列表:
card_list= [(2, (1, S)), (0, (12, H)), (1, (5, C)]
此列表包含卡片:( cardindex,(value,suit))其中cardindex是存储卡片位置的索引,但与我的特定问题无关。
因此,在示例中,列表中有3张卡:
好吧,我的问题是:我希望获得具有最大值的项目,这是,我必须得到项目:(0,(12,H))
我的尝试是:
CardWithHighestValue= max(card_list,key=itemgetter(1)[0])
但是我得到了物品或价值?而最重要的是:这句话真的正确吗?
提前致谢。
答案 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'))