我正在尝试迭代这样的元组列表:
[(0, 0.0083553666846612491), (1, 0.0054999681509501821)]
找到元组右侧的最小值,然后将左侧的值保存到变量中。
解决这个问题的最佳方法是什么?
最佳答案
您可以使用 min()
的 key
参数函数查找第二个值最小的元组:
>>> l = [(0, 0.0083553666846612491), (1, 0.0054999681509501821)]
>>> smallest = min(l, key=lambda x: x[1])[0]
>>> smallest
1
这里使用 lambda 表达式来选择每个元组的第二项,并且 min
在比较中使用该值。 min()
返回完整元组,因此您可以使用 [0]
提取第一项。
您还可以使用operator.itemgetter
:
>>> from operator import itemgetter
>>> smallest = min(l, key=itemgetter(1))[0]
>>> smallest
1
关于python - 从坐标元组列表中选择最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40456040/