Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取元组列表上的最大值_Python_List_Tuples - Fatal编程技术网

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的俱乐部
我的问题是:我希望得到最大值的项,这是,我必须得到项:(0,(12,H))

我的尝试是:

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'))