2014-03-30 47 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))。

相關問題