我有元组列表,我希望元组在索引处具有最小值1
.例如,如果我的列表如下:
a =[('a', 2), ('ee', 3), ('mm', 4), ('x', 1)]
我想要返回的元组('x', 1)
.
目前我正在使用sorted
函数来获得这样的结果:
min=sorted(a, key=lambda t: t[1])[0]
有更好的方法吗?也许有min
功能?
您可以使用min()
带key
参数的函数,以便在列表中找到具有最小值的元组.无需对列表进行排序.因此,您的min
电话应该是:
>>> min(a, key=lambda t: t[1]) ('x', 1)
甚至更好地使用operator.itemgetter()
而不是lambda表达式 ; 作为itemgetter比较快.在这种情况下,对min
函数的调用应该是:
>>> from operator import itemgetter >>> min(a, key=itemgetter(1)) ('x', 1)
注意:min()
是Python中的内置函数.您不应该将它用作变量名.