개발을 하다 보면 정렬하는 일이 빈번하다.
배열의 값을 기준으로 정렬하는 것은 이미 내장된 함수가 많기 때문에, 쉽게 해결이 가능하다.
그러나, 배열 정렬 결과를 값으로 출력하는게 아니라.
배열의 인덱스로 결과를 출력 할 때 참고하고자 정리함
다른 언어로 테스트한 예제 포스팅 링크
(cpp) sorted list of indices 예제
(java) sorted list of indices 예제
ary = [102, 67, 35, 77, 153]
value = sorted(ary, reverse=False)
index = sorted(range(len(ary)), key=lambda k: ary[k], reverse=False)
print('value: ', value)
print('index: ', index)
---출력----
value: [35, 67, 77, 102, 153]
index: [2, 1, 3, 0, 4]
ary = [102, 67, 35, 77, 153]
value = sorted(ary, reverse=True)
index = sorted(range(len(ary)), key=lambda k: ary[k],reverse=True)
print('value: ', value)
print('index: ', index)
---출력----
value: [153, 102, 77, 67, 35]
index: [4, 0, 3, 1, 2]
import numpy as np
ary = [102, 67, 35, 77, 153]
value = np.sort(ary)
index = np.argsort(ary)
print('value: ', value)
print('index: ', index)
---출력----
value: [ 35 67 77 102 153]
index: [2 1 3 0 4]
import numpy as np
ary = [102, 67, 35, 77, 153]
np_s=np.array(ary)
value = -np.sort(-np_s)
index = np.argsort(-np_s)
print('value: ', value)
print('index: ', index)
---출력----
value: [153 102 77 67 35]
index: [4 0 3 1 2]
한번씩 잊을만 하면 필요한 애들임..
그럼, 이만!
다른 언어로 테스트한 예제 포스팅 링크
(cpp) sorted list of indices 예제
(java) sorted list of indices 예제