2017-04-19 4 views
-2

2 개의 목록이 있습니다. 하나는 특정 점까지의 거리를 포함하고 다른 하나는 2 차원 공간에서 다른 값의 분포 방법을 포함합니다. 다른 목록에는이 두 목록에 동일한 순서로 매핑되는 특성이 포함됩니다.
예 : list1 = [a, b, c, d]
list2 = [10, 12, 45, 10] -> 특정 점까지 각각의 거리
list3 = [12.5, 17.5, 1.87, 34.4] -> a, b, c 및 d 각각에 관련된 값의 평균.
2 개의 매개 변수를 기준으로 목록에서 최상의 값을 찾습니다.

목록 2의 최소 거리와 목록 3의 가장 높은 평균을 기준으로 list1의 최적 값을 반환하고 싶습니다. 그러나 목록 우선 순위에 따라 정렬하지 않겠습니다 그 반대). 목록 2와 3의 값 조합을 최상으로 되돌리고 싶습니다. 목록을 정렬하는 것은 그렇게 할 수있는 방법이 아닙니다. 나는 값을 표준화하고 추가하려고 시도했지만 올바른 접근법인지 여부를 모르겠다. 관련 목록 색인을 반환하는 가장 좋은 방법은 무엇입니까?

답변

0

당신은 튜플 하나 개의리스트로 세 가지 목록을 압축 한 다음 키 각 튜플의 첫 번째 요소를 사용하여 최대 튜플을 검색 할 수 있습니다

larges = max(zip(list1, list2, list3), key=lambda x:x[0]) 
#('d', 10, 34.4) 
관련 문제