说我有一个清单:
stuff = [[5,3,8],[2,4,7],[14,5,9]]
其中每个子列表的格式为[x,y,z]
。
我想找到子列表中第三个条目的最小值,即z=7
。然后我想打印出该子列表的第一个值x
。
ex)z的最小值出现在x = 2
。
答案 0 :(得分:3)
您可以将内置min
函数与key
参数一起使用,就像这样
stuff = [[5,3,8],[2,4,7],[14,5,9]]
print min(stuff, key = lambda x: x[2])[0] # 2
为了使其更具可读性,您可以像这样解压缩
print min(stuff, key = lambda (x, y, z): z)[0]
对于每个元素,将调用分配给key
参数的函数。现在,最小值将根据该函数返回的值确定。
答案 1 :(得分:2)
您可以传递内置的min
函数key
来访问每个子列表中的第三个元素:
<强>演示强>
>>> stuff = [[5,3,8],[2,4,7],[14,5,9]]
>>> x, y, z = min(stuff, key=lambda arr: arr[2])
>>> x, y, z
(2, 4, 7)