Python:使用max/min n';元组数组中的th元素
在Python中,我有一些数据如下所示:Python:使用max/min n';元组数组中的th元素,python,Python,在Python中,我有一些数据如下所示: A = [ (-9, [(2, 3), (5, 2), (3,1)]), (-8, [(3, 4), (5, 6), (7, 6)]), (-8, [(0, 0), (5, 0), (1, 6)]), (-9, [(2, 3), (4, 2), (4, 5)]), ] 提取第一个条目中具有最大值的元素的最具python风格的方法是什么?更改数据结构不是一个选项 在本例中,目标是返回两个中间元组 干杯 尝试列表理解: max_value = max
A = [
(-9, [(2, 3), (5, 2), (3,1)]),
(-8, [(3, 4), (5, 6), (7, 6)]),
(-8, [(0, 0), (5, 0), (1, 6)]),
(-9, [(2, 3), (4, 2), (4, 5)]),
]
提取第一个条目中具有最大值的元素的最具python风格的方法是什么?更改数据结构不是一个选项
在本例中,目标是返回两个中间元组
干杯 尝试列表理解:
max_value = max(x[0] for x in A)
print [x for x in A if x[0] == max_value]
在线查看:
max(A,key=lambda x:x[0])
将检索其中一个元素。一般来说,像max()
或sorted()
等函数中的key=
参数可以用于更复杂的比较。这不是每次都执行max()
吗?@RikPoggi:我想你是对的。对于示例数据来说,这可能不是一个严重的问题,但是如果列表中包含数千项,这将是一个问题。我已经更新了代码,以便只计算一次最大值。