我想从元组列表(int, string)
中提取元组的string
值,且int
最少。
例如,如果我有这个清单:
l = [('a', 5), ('b', 3), ('c', 1), ('d', 6)]
输出应为' c',因为最小整数位于元组('c', 1)
中。
我尝试了不同的事情,到目前为止都没有。感谢。
答案 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)