딕셔너리 형태의 데이터를 다룰 때 참 다양한 형태들이 있는데요,
그중 딕셔너리를 요소로 갖는 리스트를 정렬하는 방법을 살펴보도록 하겠습니다.
보통 딕셔너리라고 하면 dictionary1 = {'A' : 100, 'B' : 50, 'C' : 90} 이런 형태인데요,
이번 포스팅에서 설명하는 데이터 형태는 다음과 같습니다.
list1 = [{'A' : 100, 'B' : 70},
{'A' : 60, 'B' : 90},
{'A' : 50, 'B' : 70}]
이러한 형태는 주로 전화번호부, 학급별 점수 등에서 볼 수 있는데요, 이때 특정 key를 기준으로 딕셔너리들을 정렬해야 하는 경우가 있습니다. 이러한 경우 정렬을 해주는 sort() 함수를 이용하면 되는데요,
list.sort(key=lambda x:x['key이름']) 과 같이 입력하여 정렬시킬 수 있습니다.
만약, 내림차순으로 정렬하고 싶다면 sort() 함수 안에 reverse=1 이라고 입력해주면 됩니다.
아래 코드는 'A'라는 key를 기준으로 value 값을 내림차순 정렬시킨 코드입니다.
list1 = [{'A' : 100, 'B' : 70},
{'A' : 60, 'B' : 90},
{'A' : 50, 'B' : 70}]
list1.sort(key=lambda x:x['A'], reverse=1)
list1
[{'A': 100, 'B': 70},
{'A': 60, 'B': 90},
{'A': 50, 'B': 70}]
위 결과를 보면 'A' key를 기준으로 내림차순으로 정렬이 잘 되었음을 확인할 수 있습니다.
'BLOG > 파이썬 기초' 카테고리의 다른 글
[파이썬] 딕셔너리 : key / value 값만 추출하려면? (0) | 2021.03.04 |
---|---|
[파이썬] 딕셔너리 : 데이터 삭제하기 - del (0) | 2021.03.04 |
[파이썬] 딕셔너리 : key로 value 값을 찾으려면? (0) | 2021.03.04 |
[파이썬] 리스트 길이만큼 for문 반복하기 (0) | 2021.03.04 |
[파이썬] 문자열 모두 소문자 or 대문자로 바꾸는 방법 - lower, upper (0) | 2021.03.04 |