2014-03-30 6 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)).

관련 문제