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

Get min int in a list of tuples of (int, string) in Python

我想从元组列表 (int, string) 中提取具有最小值 int 的元组的 string 值。

例如,如果我有这个列表:

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

输出应该是'c',因为最小整数在元组('c', 1).

我尝试了不同的方法,none 目前有效。谢谢。

尝试使用带有键 lambda 的 min() 函数:

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

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

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