首页 > 解决方案 > 如何从元组列表的第二项中获取最小的项?

问题描述

首先对令人困惑的标题感到抱歉,我不知道如何在没有示例的情况下解释我的问题。

我有以下图表

graph = {
    1: [(3, 5), (4, 1),  (5, 4)],
    2: [(5, 9)],
    3: [(5, 1), (6, 1)],
    4: [(2, 11), (8, 2)],
    5: [(4, 6), (2, 6)],
    6: [(7, 1)],
    7: [(5, 7), (2, 1)],
    8: [(2, 6)],
}

我希望能够从给定数字的元组的第二项中获得最小的数字。例如,如果我给函数数字 1,我希望它从第二个元组返回 1。如果输入是 4,我希望它从第二个元组返回 2。

我目前的方法是min((graph[s])[1]),但这并没有真正起作用,并且主要返回索引错误。

编辑:我现在解决了这个问题(min(graph[s])[0], min(graph[s])[1])[1](出于某种原因)它适用于所有情况(问题在于只包含一个元组的列表)。

标签: python

解决方案


只需使用:

s = 7
print(min(min(graph[s], key= lambda t:min(t))))

推荐阅读