Python 获取元组列表上的最大值
我有一个元组列表:Python 获取元组列表上的最大值,python,list,tuples,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)) 我的
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的俱乐部
CardWithHighestValue= max(card_list,key=itemgetter(1)[0])
但我得到的是物品还是价值?最重要的是:这句话真的正确吗
提前感谢。更换
CardWithHighestValue= max(card_list,key=itemgetter(1)[0])
与
演示
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'))
您还可以使用匿名函数作为密钥: 演示: 输出:
(0, (12, 'H'))
那么你只想要最高值的卡吗?如果有两个值相同,你会在西装上打成平局吗?我想你还不太了解itemgetter。它返回一个函数,因此第0个索引没有任何意义。meh。。。。闻起来像是家庭作业。继续搜索类似的列表操作事件@保罗·鲁尼:我会在代码的另一部分(前一部分)处理西装,可能会将西装清单分开,然后进行比较。最后很简单!我想我必须指出子元组的索引,以便在那里搜索最大值,但不是!不客气:)。如果它解决了您的问题,请接受ans。谢谢,根据stackoverflow中类似问题的其他帖子,我猜这会慢一些。
print(max(card_list, key=lambda x:x[1]))
(0, (12, 'H'))