min(must_visit, key=lambda x:...) 背后的语法
Syntax behind 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)
是什么意思,作为单独的函数怎么写?
路径[-1]returns最后一点
distance(path[-1], x) returns 最后一个点和点 x 之间的距离。
min 函数迭代 must_visit 并计算最后一个点与 must_visit 中的点之间的距离,以及 returns 个中的最小值。
您的 lambda 函数将 return 是 distance(path[-1], x)
return,因此 nerest
将是 must_visit
中的最小元素,其中 distance(path[-1], x)
至少
等效函数:
def my_func(x):
return distance(path[-1], x)
您可以像这样使用它:
nerest = min(must_visit, key=my_func)
我在这里查看 TSP 问题的贪婪实现 https://pastebin.com/NeMbdzdr
下一行是寻找路径中最新点的最近点,
nearest = min(must_visit, key=lambda x: distance(path[-1], x))
lambda x: distance(path[-1], x)
是什么意思,作为单独的函数怎么写?
路径[-1]returns最后一点
distance(path[-1], x) returns 最后一个点和点 x 之间的距离。
min 函数迭代 must_visit 并计算最后一个点与 must_visit 中的点之间的距离,以及 returns 个中的最小值。
您的 lambda 函数将 return 是 distance(path[-1], x)
return,因此 nerest
将是 must_visit
中的最小元素,其中 distance(path[-1], x)
至少
等效函数:
def my_func(x):
return distance(path[-1], x)
您可以像这样使用它:
nerest = min(must_visit, key=my_func)