상세 컨텐츠

본문 제목

[python] 리스트 인덱스 정렬

연구/정보

by Aesthetic Thinker 2020. 11. 4. 14:46

본문

결론부터.


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

관련글 더보기

댓글 영역