我有这个代码:
vals = [(1,3,5),(2,2,5),(1,2,6)]
max(vals ,key=itemgetter(1))[2]
我的问题是:为什么它返回 5 而不是 6 ?我需要最后一个元素的最大值。如果我采用 max(...)[0]
它给出 2,如果我采用 max(...)[1]
它给出 3,但是如果我采用max(...)[2]
它给出 5。这是为什么?
最佳答案
通过键入 itemgetter(1)
,您要求 Python 根据第 1 个元素的值 获取最大元组。 (1,3,5) 在第一个索引(即 3)中具有最大元素。然后您从该元组访问第二个索引(即 5)。
要获取最后一个元素的最大值,请改用它:
>>> max([c for a,b,c in vals])
6
关于python - 获取元组列表中元素元组的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52972826/