[파이썬] 딕셔너리의 값으로 정렬

파이썬에서 딕셔너리는 키와 값을 쌍으로 저장하는 자료구조입니다. 딕셔너리를 사용하면 키를 기준으로 데이터에 접근할 수 있습니다. 그러나 때로는 딕셔너리의 값을 기준으로 정렬해야 할 때도 있을 것입니다.

여기서는 파이썬에서 딕셔너리의 값을 기준으로 정렬하는 방법에 대해 알아보겠습니다.

sorted() 함수와 key 매개변수

파이썬의 sorted() 함수는 정렬된 순서대로 요소를 반환합니다. 이 함수는 key 매개변수를 이용하여 정렬 기준을 지정할 수 있습니다.

sorted(iterable, key=key_function)

iterable은 정렬할 요소들이 들어있는 컨테이너(리스트, 튜플 등)입니다. key_function은 정렬 기준이 되는 함수로, 이 함수를 사용하여 요소들을 정렬합니다.

딕셔너리 값으로 정렬하기

파이썬에서 딕셔너리의 값을 기준으로 정렬하려면 sorted() 함수의 key 매개변수에 lambda 함수를 사용합니다. lambda 함수는 한 줄로 간단한 함수를 생성할 때 유용합니다.

다음은 딕셔너리를 값으로 정렬하는 예제 코드입니다.

student_grades = {"John": 90, "Alice": 85, "Bob": 95, "Charlie": 80}

sorted_grades = sorted(student_grades.items(), key=lambda x: x[1])

for name, grade in sorted_grades:
    print(name, ":", grade)

위 코드는 student_grades 딕셔너리를 값에 기준하여 정렬한 후, 정렬된 결과를 출력합니다. sorted() 함수의 key 매개변수로 lambda 함수를 사용하여 딕셔너리의 값을 가져옵니다. 그리고 for 루프를 통해 정렬된 결과를 출력합니다.

출력 결과:

Charlie : 80
Alice : 85
John : 90
Bob : 95

딕셔너리의 값을 기준으로 정렬할 때는 items() 메서드를 사용하여 (키, 값) 쌍의 튜플을 리스트로 변환해야 합니다. 이렇게 변환한 리스트를 sorted() 함수에 전달하여 정렬하면 됩니다.

딕셔너리의 값을 기준으로 정렬하고 싶을 때는 위와 같이 sorted() 함수와 lambda 함수를 사용하여 간단하게 처리할 수 있습니다.