从子列表列表中选择最小值并显示该子列表中具有最小值的另一个值

Bob*_*ger 3 python list minimum selection

假设我有一个清单:

stuff =  [[5,3,8],[2,4,7],[14,5,9]]
Run Code Online (Sandbox Code Playgroud)

其中每个子列表的形式为[x,y,z].

我想找到子列表中第三个条目的该列表的最小值,即z=7。然后我想打印出该子列表的第一个值x

ex) z 的最小值出现在 处x = 2

the*_*eye 5

您可以将内置min函数与key参数一起使用,如下所示

stuff = [[5,3,8],[2,4,7],[14,5,9]]
print min(stuff, key = lambda x: x[2])[0]   # 2
Run Code Online (Sandbox Code Playgroud)

为了使其更具可读性,您可以像这样解压缩值

print min(stuff, key = lambda (x, y, z): z)[0]
Run Code Online (Sandbox Code Playgroud)

对于 stuff 的每个元素,key将调用分配给参数的函数。现在,最小值将仅根据该函数返回的值来确定。