2014-03-30 38 views
2

我有一个坐标点和另一个点的列表。Python:在函数返回最小值的列表中查找项目?

从列表中选择一个样本:

(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 

是否有蟒蛇一个衬垫(列表理解?)到在给定函数返回列表的最小值的列表中找到一个点?

+2

提供您的数据的一些例子应该是有帮助的。 –

回答

8

min() function已经有key的说法,不需要列表理解。

比方说,你想在列表中查找到原点的最近点:

min(list_of_points, key=lambda p: distance(p, (0, 0))) 

会发现这(给定distance()函数计算两个点之间的距离)。

从文档:

可选关键参数指定那样用于list.sort()带有一个参数排序功能。关键参数(如果提供)必须采用关键字形式(例如,min(a,b,c,key=func))。

相关问题