결론부터.
s = [12, 13, 11, 14, 15, 13]
sorted(range(len(s)), key=lambda k: s[k])
>>> [2, 0, 1, 5, 3, 4]
데이터를 다루다보면 단순히 리스트를 정렬하는 게 아닌
리스트가 가진 값들을 가리키는 인덱스를 순서대로 정렬해야 할 때가 많다.
이럴 때 위와 같이 코드 한 줄로 해결한다.
거꾸로 정렬 하고 싶다면 아래와 같이 sorted 함수의 reverse=True로 설정한다.
s = [12, 13, 11, 14, 15, 13]
sorted(range(len(s)), key=lambda k: s[k], reverse=True)
>>> [4, 3, 5, 1, 0, 2]
출처 https://stackoverflow.com/questions/7851077/how-to-return-index-of-a-sorted-list
6하원칙과 논문의 구성 (1) | 2022.10.02 |
---|---|
통계학 공부노트 [1편] (3) | 2022.09.29 |
Python 내에서 GPU 메모리 확인하는 법 (2) | 2022.03.22 |
뉴럴넷(신경망)이 정답(타겟)의 평균에 수렴한다? (1) | 2021.10.22 |
리눅스 (우분투) 파일을 삭제해도 용량이 늘지 않을 때 (1) | 2021.10.14 |
댓글 영역