딕셔너리를 활용해 돈을 많이 쓴 가맹점 10개를 골라 다음 그림처럼 가로형 막대그래프로 그려 봅시다.
▲ 그림 9-17 예상 결과 그래프
프로그램을 어떻게 만들지 생각해 봅시다. 먼저 가맹점별 지출액을 저장하는 딕셔너리를 만들어야죠. 딕셔너리의 이름은 spending으로 합시다. spending은 처음에는 빈 딕셔너리입니다. 카드 이용내역을 처음부터 마지막까지 확인하면서 매입상태가 전표매입인 건을 골라냅니다. 여기까지는 익숙하죠?
다음으로 전표매입 건에서 가맹점명과 이용금액을 구하고, spending 딕셔너리에서 해당 가맹점명을 키로 하는 값에 이용금액을 더하면 됩니다. 이때 2가지 경우가 있습니다. 해당 가맹점명이 키에 있는 경우와 없는 경우입니다. 만약 spending에 해당 가맹점명을 키로 하는 요소가 없다면 새로 키를 추가하고, 해당 가맹점명을 키로 하는 요소가 있다면 해당 요소의 값에 이용금액을 더합니다. 전체 이용내역에서 이 과정을 완료했다면 지출액을 기준으로 딕셔너리를 내림차순 정렬합니다. 그리고 앞에서 10개 요소를 선택하면 이것이 지출액 상위 10개 항목입니다.