在字符串和数字列表中找到最小值python

时间:2015-02-01 21:45:05

标签: python path

我有ouput

[['a', 'b', 'a', 'c', 'd', 20.0], ['a', 'b', 'd', 11.0], ['a', 'c', 'd', 10.0]]

我想抓住最小路径,在这种情况下是10

这是一种路径查找算法,字母可以变化

我尝试使用浮动键,但无法弄清楚

1 个答案:

答案 0 :(得分:3)

您可以将key参数用于min()

path = min(my_list, key=operator.itemgetter(-1))

这将将键函数应用于列表的每个元素,并返回应用该函数的结果最小的元素。函数operator.itemgetter(-1)返回每个列表的最后一个元素。

尽管如此,您可能会重新考虑您的数据结构。混合列表包含名称,然后浮点数作为最后一个元素似乎很麻烦。使用带有两个条目的元组列表可能会使代码更自然,尽管添加了一个嵌套级别:

[(['a', 'b', 'a', 'c', 'd'], 20.0),
 (['a', 'b', 'd'], 11.0),
 (['a', 'c', 'd'], 10.0)]