반응형
파이썬에서 lambda 함수를 사용하여 딕셔너리를 정렬할 수 있습니다.
딕셔너리의 key나 value 값으로 정렬할 수 있으며 또한 2가지의 정렬 조건을 적용할 수 있습니다.
key 기준으로 정렬, value 기준으로 정렬, 2가지 조건 적용하는 순으로 작성하였습니다.
예제 1) Key 값을 기준으로 정렬 - 정렬된 Key 리스트 반환
my_dict = {1:5, 2:6, 3:4}
print(sorted(my_dict)) # 오름차순 정렬
print(sorted(my_dict, reverse=True)) # 내림차순 정렬
예제 2) Key 값을 기준으로 정렬 - 정렬된 딕셔너리 반환
# key 값을 기준으로 정렬된 (key,value) 쌍으로 리스트 반환
print(sorted(my_dict.items()))
# key 값을 기준으로 정렬된 딕셔너리 반환
my_dict = dict(sorted(my_dict.items()))
print(my_dict)
예제 3) Value 값을 기준으로 정렬 - 정렬된 딕셔너리 반환
# value 값을 기준으로 정렬하여 (key, value) 쌍으로 리스트 반환
print(sorted(my_dict.items(), key=lambda x:x[1]))
# value 값을 기준으로 정렬하여 딕셔너리로 반환
print(dict(sorted(my_dict.items(), key=lambda x: x[1])))
# value 값을 기준으로 정렬한 후 value 리스트 반환
print(sorted(my_dict, key=lambda x: my_dict[x]))
예제 4) 2가지 기준 적용하여 정렬하기
: 기준 1 내림차순 정렬을 하고 같은 값인 경우 기준 2로 오름차순 정렬
my_dict = {1:5, 2:6, 3:6, 4:5}
print(sorted(my_dict.items(), key=lambda x: (-x[1], x[0])))
* sorted() 함수에 my_ditc.items() 리터럴 값을 전달합니다.
* key=lambda x: 부분에서 (-x[1], x[0])이 의미하는 것은 x[1]은 value 값을 의미하고 “-” 내림차순 정렬을 의미합니다.
* 기준 1은 value 값을 기준으로 내림차순하며, 같은 값인 경우에는 기준 2 key 값을 기준으로 오름차순 정렬하여 값을 반환해 줍니다.
반응형
'Python > Python' 카테고리의 다른 글
[python] 파이썬 소수 구하기, 에라토스테네스의 체 - 시간 복잡도 최적화 (1) | 2023.10.10 |
---|---|
[Python] 파이썬 문자열 변환하기 (replace), 문자 인덱스 찾기 (index, find) - python 문자열 처리 함수 (0) | 2023.08.31 |
[Python] 파이썬 lambda 람다 함수 사용법 및 설명 (0) | 2023.08.31 |
[python] 파이썬 pickle 파일로 저장 및 불러오기 / dump, load (0) | 2022.07.13 |
[Python] 파이썬 웹 크롤링 - BeautifulSoup 사용 방법 및 활용하기 (0) | 2022.06.01 |