튜플 목록이 있습니다. 각 튜플은 다른 튜플과 인덱스로 구성됩니다. 필자는 내부 튜플 값의 차이에 따라 목록을 정렬하려고합니다. 다른 표기법 또는는 :복잡한 데이터 구조 정렬
[((float, float), int), ...]
두 수레 내가 정렬 키에 사용할 것입니다.
나는이 쓴 :from math import fabs
def sort_for_avg(probabilities): # 'probabilites' is a list of float-pairs
return sorted(zip(probabilites, range(len(probabilites))),
key=lambda entry: fabs(entry[0][0]-entry[0][1]))
내가 itemgetter
작업을 시도,하지만 난 그냥 간단한 검색과 정렬되지 않은 무언가를 위해 그것의 묘리를 터득하지 않았다. '분류 된'목록은 겉보기에 무작위로 그 곳곳에 있습니다.
확률 테이블이 상당히 커질 수 있으므로 필자는 솔루션에 값을 복사하지 않기를 원했기 때문에 이것이 매우 복잡한 한 줄짜리 이유입니다. 누군가가 발전기로 몇 줄에서 같은 작업을 수행하는 방법을 알고 있다면 나는 행복 할 것이다.
당신은 몇 가지 입력과 예상 및 실제 출력을 제공 할 수 있을까요? http://stackoverflow.com/help/mcve에서 살펴보십시오. * "다른 표기법"*이 * Python * 인 경우 유용합니다. '[((float, float), int), ...]' – jonrsharpe
재생할 수 없습니다. 오타를 수정 한 후, 이것은 정상적으로 작동하는 것 같습니다. 문제가 다른 곳에있을 수 있습니까? 테스트 데이터를 제공 할 수 있습니까? 결과가 무작위로 정렬되었거나 정렬되지 않았습니까? 즉, 여전히 색인 행이 정렬 되었습니까? 이 경우 결과를 변수에 다시 지정하는 것을 잊었을 수 있습니다. –