python3,嵌套列表中的最小值使用枚举保持索引

时间:2018-01-14 08:43:11

标签: python list python-3.5 min enumerate

nlist = [ [10, 6], [12,3], [13,1] ]

我试图找到具有最小第二个子元素的列表元素,即我想要返回[13,1] - 这可以通过以下方式实现:

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

如果我还想通过使用枚举函数来获取结果的nlist中的索引,我得到的是无法想出重写lambda来打开枚举对象。这当然不起作用:

min(enumerate(nlist), key = lambda x: x[1])

预期结果应该类似于(index,min_element):

(2, [13, 1])

也许这个Finding the index of an item given a list containing it in Python 已经在某处嵌入了解决方案(而不是嵌套列表)。

1 个答案:

答案 0 :(得分:3)

enumerate返回包含索引和元素的元组。您可以将下标运算符(即[1])应用于它以检索元素并在lambda中使用它:

min(enumerate(nlist), key = lambda x: x[1][1])