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
。
您可以将内置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
将调用分配给参数的函数。现在,最小值将仅根据该函数返回的值来确定。