본문 바로가기

itemgetter를 사용해서 다차원 리스트, 튜플 정렬

곰곰킴 2021. 3. 16.

operator 모듈의 itemgetter를 이용하면 다차원의 리스트 및 튜플을 특정 인덱스 기준으로 정렬할 수 있다.

 

1. 리스트

 

리스트 같은 경우 기본으로 사용하는 sort 혹은 sorted 메소드에

 

key = itemgetter( [ 기준 인덱스 ] ) 옵션을 주면 된다.

 

예시) 4번째 인덱스 기준으로 sorting

리스트를 특정 인덱스 기준으로 sort

 

 

기본적으로 오름차순으로 정렬되며

 

reverse = True 옵션을 주면 내림차순으로 정렬된다.

 

예시)

 

 

 

2. 튜플

 

리스트와 같이 key = itemgetter( [ 기준 인덱스 ] ) 옵션을 주면 된다.

 

튜플을 특정 인덱스 기준으로 sort

 

기본적으로 오름차순으로 정렬되며

 

reverse = True 옵션을 주면 내림차순으로 정렬된다.

 

 

딕셔너리 데이터를 value 기준으로 sort하는데 해당 기법이 사용되기도 한다.

 

딕셔너리 key 기준 sorting

딕셔너리 데이터를 key를 기준으로 sorting할 때 이 방식으로 한다.

 

value 기준으로 할 때는 itemgetter를 이용해야한다.

 

딕셔너리 value 기준 sorting

 

dict.items() 는 (key - value)튜플이 리스트에 담긴 형태로 딕셔너리 자료형을 내보내게 된다.

 

그 때 itemgetter(1)로 튜플의 2번째 index인 value 값을 기준으로 잡으며 sorting할 수 있게된다. 

댓글