비어 있던 dong_population 딕셔너리에 데이터가 저장됩니다.
코드를 한 줄씩 살펴봅시다. 먼저 반복문으로 data를 돌며 행정동코드(row[2])와 총생활인구수(row[3])를 변수 dong_code와 p에 각각 저장합니다. 이때 해당 행의 dong_code를 키로 하는 항목이 없다면 {키:값}이 {dong_code:p}인 항목을 dong_population 딕셔너리에 추가합니다. 만약 dong_code를 키로 하는 항목이 있다면 해당 키의 값에 현재 행의 인구수 p를 더합니다. 결과를 보면 dong_code가 11215710인 행정동은 2019년 12월 한 달간 총 생활인구수가 약 32,699,578명입니다(결과가 길게 출력되므로 한 번만 확인하고 그 이후에는 주석 처리하거나 삭제해도 됩니다).
이제 과정 3에서 총인구수를 기준으로 딕셔너리를 내림차순 정렬할 차례입니다.
# 3. 인구수를 기준으로 내림차순 정렬하고, 앞에서 10개 항목만 별도로 저장하기
import operator
top10 = sorted(dong_population.items(), key=operator.itemgetter(1),
reverse=True)[:10]
# print(top10)
top10_code8 = []
for t in top10:
top10_code8.append(t[0])
print(top10_code8)
실행결과
[11680640, 11560540, 11440660, 11110615, 11650530, 11410585, 11380690, 11545510, 11680650, 11680610]