首页 > 解决方案 > min(must_visit, key=lambda x:...) 后面的语法

问题描述

我在这里查看 TSP 问题的贪婪实现https://pastebin.com/NeMbdzdr

以下行是查找路径中最新点的最近点,

nearest = min(must_visit, key=lambda x: distance(path[-1], x))

它的含义是什么lambda x: distance(path[-1], x)以及如何将其编写为单独的函数?

标签: pythonfunctionlambdaanonymous-function

解决方案


您的 lambda 函数将返回返回的内容distance(path[-1], x),因此nerest将是最小元素 from must_visitwhere distance(path[-1], x) is at minimum

等效功能:

def my_func(x):
    return distance(path[-1], x)

你可以像这样使用它:

nerest = min(must_visit, key=my_func)

推荐阅读