在Python中的(int,string)元组列表中获取min int

时间:2015-01-09 13:08:04

标签: python list tuples

我想从元组列表(int, string)中提取元组的string值,且int最少。

例如,如果我有这个清单:

l = [('a', 5), ('b', 3), ('c', 1), ('d', 6)]

输出应为' c',因为最小整数位于元组('c', 1)中。

我尝试了不同的事情,到目前为止都没有。感谢。

2 个答案:

答案 0 :(得分:1)

尝试使用min()函数和一个关键字lambda:

min_tuple = min(l, key=lambda x:x[1])

这使用了min函数,它返回了iterable上的最小元素。使用内联lambda函数,它是一种元组元素的比较器,所以我作为键返回元组的第二项(int)。因此,当使用此键函数执行min函数时,最小元组是包含最小整数的元组。

答案 1 :(得分:0)

您可以使用min()

In [1]: l = [('a', 5), ('b', 3), ('c', 1), ('d', 6)]

In [2]: min(l, key=lambda t:t[1])
Out[2]: ('c', 1)