Python 返回列表列表中的最小元素值
给出如下列表:Python 返回列表列表中的最小元素值,python,Python,给出如下列表: [["fileA",7],["fileB",4],["fileC",17],["fileD",15]] 如何返回与最小值关联的第一个元素?在本例中为fileB,因为它的最小值为4。我猜最短的方法是使用列表理解。事实上,列表理解并不是最好的工具。相反,您应该使用、its和: 在不导入任何内容的情况下,您可以执行以下操作: min(lst, key = lambda x: x[1])[0] 我想出了一个奇怪的想法,除了简单的生成器表达式外,它什么都不用: min((x[1], x
[["fileA",7],["fileB",4],["fileC",17],["fileD",15]]
如何返回与最小值关联的第一个元素?在本例中为fileB,因为它的最小值为4。我猜最短的方法是使用列表理解。事实上,列表理解并不是最好的工具。相反,您应该使用、its和:
在不导入任何内容的情况下,您可以执行以下操作:
min(lst, key = lambda x: x[1])[0]
我想出了一个奇怪的想法,除了简单的生成器表达式外,它什么都不用:
min((x[1], x[0]) for x in lst)[1]
它基于这样一个事实:默认情况下,最小化是在元组/列表的第一个元素上完成的 您可能只需要将数据转换为字典,因为这似乎比拥有列表列表更明智。这样,您就可以更轻松地操作和访问数据
myLists = [["fileA",7],["fileB",4],["fileC",17],["fileD",15]]
myDict = dict(myLists)
min(myDict, key=myDict.get)
# 'fileB'
这实际上不是一个列表。这是一个生成器表达式。@iCodez True,已编辑。我想这就是OP在谈到列表理解或myDict=dictmyLists时的意思:虽然这不是当前问题的最佳答案,但如果列表用于其他事情,这可能是最好的选择。@gnibbler Cool,不知道它会自动适当转换。虽然在听写理解中基本上是一样的。我想说@sashkello的答案更好,根据这个答案:@Mehdi这是2010年的答案,我不确定从那以后是否有什么变化,但它可能已经改变了。
myLists = [["fileA",7],["fileB",4],["fileC",17],["fileD",15]]
myDict = dict(myLists)
min(myDict, key=myDict.get)
# 'fileB'