더북(TheBook)

이번에는 물건을 저렴한 순서대로 정렬해서 어떤 물건이 싼지 알고 싶습니다. 이때는 키가 아닌 값을 기준으로 정렬해야 합니다. 값으로 정렬하려면 operator라는 모듈이 필요합니다. operator에는 계산을 도와주는 다양한 명령어가 포함되어 있습니다. 여기서는 operator에 포함된 itemgetter()를 사용합니다. itemgetter()는 기준에 따라 키와 값을 모으는 명령어입니다. 우선 다음처럼 코드를 작성하고 실행해 봅시다.

import operator

mart = {'과자': 1500, '아이스크림': 1700, '휴지': 4800, '고기': 10500, '우유': 2600}
print(sorted(mart.items(), key=operator.itemgetter(0)))
실행결과
[('고기', 10500), ('과자', 1500), ('아이스크림', 1700), ('우유', 2600), ('휴지', 4800)]

모듈도 라이브러리처럼 import로 추가합니다. sorted()에 추가된 key는 정렬 기준을 나타내는 옵션입니다. 여기서는 operatoritemgetter()를 정렬 기준으로 사용한단 의미로 operator.itemgetter()를 값으로 넣습니다. 그리고 소괄호 안의 숫자는 키 또는 값을 표시하는 숫자입니다. 0이면 키를 기준으로, 1이면 값을 기준으로 정렬합니다.

import operator

mart = {'과자': 1500, '아이스크림': 1700, '휴지': 4800, '고기': 10500, '우유': 2600}
print(sorted(mart.items(), key=operator.itemgetter(1)))
실행결과
[('과자', 1500), ('아이스크림', 1700), ('우유', 2600), ('휴지', 4800), ('고기', 10500)]
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.