元组列表中的max(Python)

豪尔赫·洛马斯(Jorge Lomas):

我有这个元组列表的列表

var1 = [
    [(10, '♣'), (7, '♠')],
    [(14, '♣'), (2, '♣')],
    [(2, '♥'), (9, '♦')],
    [(11, '♠'), (10, '♠')],
    [(11, '♦'), (5, '♣')]
]

我想提取具有第二个值或var1 [1]的最大值的元组。我在编程过程中使用了很多不同的代码,但是我现在使用的代码直到现在一直没有任何重大问题是:

 maximo = max(var1, key=lambda x: sum(i for i,_ in x))

还有这个:

 maximo2 = list(map(max,zip(*var1)))

问题是我需要具有最大值的列表,而不是具有2个最大值的组合的列表,现在此代码var1[3]将以2个值中的较大者输出,我不知道还要尝试什么。

拉克什:

使用max代替sum

例如:

var1=[[(10, '♣'), (7, '♠')], [(14, '♣'), (2, '♣')], [(2, '♥'), (9, '♦')], [(11, '♠'), (10, '♠')], [(11, '♦'), (5, '♣')]]
maximo=max(var1, key=lambda x: max(i for i,_ in x))
print(maximo)

输出:

[(14, '♣'), (2, '♣')]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章