[Python] 딕셔너리 정렬

tacowasabii·2024년 6월 13일
0

Python

목록 보기
4/12
post-thumbnail

Python에서 딕셔너리는 기본적으로 순서가 없는 데이터 구조이다. 하지만 때로는 딕셔너리를 특정 기준에 따라 정렬해야 하는 경우가 있다. Python은 이를 쉽게 처리할 수 있는 다양한 방법을 제공한다. 아래는 Python 딕셔너리를 정렬하는 방법에 대한 설명이다.


1. 키(Key)로 정렬하기

딕셔너리를 키를 기준으로 정렬하려면 sorted() 함수를 사용할 수 있다. sorted() 함수는 기본적으로 키를 기준으로 정렬된 키의 리스트를 반환한다. 이를 이용해 정렬된 딕셔너리를 만들 수 있다.

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_by_key = dict(sorted(my_dict.items()))
print(sorted_by_key)
# 출력: {'apple': 4, 'banana': 3, 'orange': 2, 'pear': 1}

2. 값(Value)으로 정렬하기

딕셔너리를 값으로 정렬하려면 sorted() 함수에 key 매개변수를 사용하여 값에 따라 정렬할 수 있다.

my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_by_value = dict(sorted(my_dict.items(), key=lambda item: item[1]))
print(sorted_by_value)
# 출력: {'pear': 1, 'orange': 2, 'banana': 3, 'apple': 4}

3. 내림차순으로 정렬하기

기본 정렬은 오름차순이지만, reverse=True 매개변수를 추가하여 내림차순으로 정렬할 수 있다.

  • 키를 기준으로 내림차순 정렬
my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_by_key_desc = dict(sorted(my_dict.items(), reverse=True))
print(sorted_by_key_desc)
# 출력: {'pear': 1, 'orange': 2, 'banana': 3, 'apple': 4}
  • 값을 기준으로 내림차순 정렬
my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_by_value_desc = dict(sorted(my_dict.items(), key=lambda item: item[1], reverse=True))
print(sorted_by_value_desc)
# 출력: {'apple': 4, 'banana': 3, 'orange': 2, 'pear': 1}

4. 정렬된 리스트 반환하기

딕셔너리를 정렬한 후, 키 또는 값을 리스트로 반환할 수 있다.

  • 키를 기준으로 정렬된 키 리스트 반환
my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_keys = sorted(my_dict)
print(sorted_keys)
# 출력: ['apple', 'banana', 'orange', 'pear']
  • 값을 기준으로 정렬된 키 리스트 반환
my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_keys_by_value = sorted(my_dict, key=lambda x: my_dict[x])
print(sorted_keys_by_value)
# 출력: ['pear', 'orange', 'banana', 'apple']
  • 키를 기준으로 정렬된 값 리스트 반환
my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_values_by_key = [my_dict[key] for key in sorted(my_dict)]
print(sorted_values_by_key)
# 출력: [4, 3, 2, 1]
  • 값을 기준으로 정렬된 값 리스트 반환
my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_values = sorted(my_dict.values())
print(sorted_values)
# 출력: [1, 2, 3, 4]

Python에서는 다양한 방법으로 딕셔너리를 정렬할 수 있다. 키나 값을 기준으로 오름차순이나 내림차순으로 정렬할 수 있으며, 정렬된 결과를 딕셔너리나 리스트 형태로 반환할 수도 있다. 이 방법들을 활용하면 딕셔너리 데이터를 더욱 효과적으로 관리할 수 있다.

profile
웹 프론트엔드 엔지니어

0개의 댓글

관련 채용 정보