Python列表检查两个最大值是否相同

Python列表检查两个最大值是否相同,python,list,function,max,Python,List,Function,Max,在python中,是否可以检查列表中的两个最大值是否相同 这是我的代码: list=[[A, teamAScore], [B, teamBScore], [C, teamCScore], [D, teamDScore]] list.sort() print(max(list)) 如果最大的两个值相同,max函数将只返回其中一个值。有没有办法检查列表中最后两个值是否相同,以便我可以用不同的方式进行比较?(独立功能等) A、 B、C和D是字符串。teamAScore等都是整数我想您需要基于分数的最

在python中,是否可以检查列表中的两个最大值是否相同

这是我的代码:

list=[[A, teamAScore], [B, teamBScore], [C, teamCScore], [D, teamDScore]]
list.sort()
print(max(list))
如果最大的两个值相同,max函数将只返回其中一个值。有没有办法检查列表中最后两个值是否相同,以便我可以用不同的方式进行比较?(独立功能等)


A、 B、C和D是字符串。teamAScore等都是整数

我想您需要基于分数的最大值,即第二个元素,因此首先根据每个子列表分数的第二个元素获得最大值,然后保持所有分数等于最大值的子列表:

from operator import itemgetter

lst = [[A, teamAScore], [B, teamBScore], [C, teamCScore], [D,   teamDScore]]
# get max of list based on second element of each sublist i.e teamxScore
mx = max(lst,key=litemgetter(1)))

# use a list comp to find all sublists where teamxScore is equal to the max
maxes = [ele for ele in lst if ele[1] == mx[1]]
演示:

输出:

[['foo', 2], ['foobar', 2]]

foo和foobar的分数都等于max,因此我们返回了两个子列表。

请您稍微抽象一点好吗?您在这里比较哪些值?是A、B等字符串和teamAScore等整数吗?对不起,A、B、C和D是字符串。teamAScore等都是整数,所以您想看看最大整数是否出现两次正确,如果出现两次,请将一个新变量设置为1,或者打印一些内容,以便我知道它发生了。我不理解任何代码xD,但我会尝试使用它-感谢您添加的解释-更有意义。要真正打印输出,我需要添加什么?@Humvee202,不用担心,只需打印maxesThank。现在,我将把它合并到我的主代码中:)我实际上想出了一种不用它的方法——但无论如何,谢谢你:D。我现在应该很好了
[['foo', 2], ['foobar', 2]]