我有一个带坐标和另一个点的点列表。
列表中的示例:
(45.1531912,5.7184742),(45.1531912,5.7184742),(45.1531113,5.7184544),(45.1525337,5.718298),(45.1525337,5.718298),
一点:
(45.1533837,5.7185242)
功能:
def dist(point1,point2)
....
return aDistance
是否有一个python one liner(list-comprehension?)在列表中找到一个给定函数返回列表最小值的点?
答案 0 :(得分:8)
min()
function已经有一个key
参数,不需要列表理解。
假设您想要找到列表中距离原点最近的点:
min(list_of_points, key=lambda p: distance(p, (0, 0)))
会找到它(给定distance()
函数来计算两点之间的距离。)
来自文档:
可选的键参数指定一个单参数排序函数,如用于
list.sort()
的函数。密钥参数(如果提供)必须采用关键字形式(例如,min(a,b,c,key=func)
)。