从坐标元组列表中选择最小值

时间:2016-11-07 00:11:30

标签: python list select tuples min

我正在尝试迭代这样的元组列表:

[(0, 0.0083553666846612491), (1, 0.0054999681509501821)]

找到元组右侧的最小值,然后将随附的左侧值保存到变量中。

解决这个问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

您可以使用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

答案 1 :(得分:0)

这应该有效:

min_tuple = min(your_list, key=lambda item: item[1])

所以我们提供了元组比较的方法