# 3. 인구수를 기준으로 내림차순 정렬하고, 앞에서 10개 항목만 별도로 저장하기
import operator
top10 = sorted(dong_population.items(), key=operator.itemgetter(1), reverse=True)[:10]
top10_code8 = [t[0] for t in top10]
top10_name = [0 for i in range(10)]
top10_lat = [0 for i in range(10)]
top10_long = [0 for i in range(10)]
# 4. 8자리 행정동코드에 해당하는 행정동명 찾기
for i in range(len(top10_code8)):
for row in code_data:
if row[1] == top10_code8[i]:
top10_name[i] = row[-1] # 행정동명 리스트에 저장하기
# 5. 행정동명에 해당하는 위도와 경도를 찾아 리스트에 저장하기
for row in location_data:
if row[3] == top10_name[i]:
top10_lat[i], top10_long[i] = row[-1], row[-2]
# 추가. 행정동명으로 위치 정보를 찾지 못하면 7자리 행정동코드로 찾기
for i in range(len(top10_lat)):
# 위도나 경도가 0인 요소가 있다면
if top10_lat[i] == 0 or top10_long[i] == 0:
# code_data에서 7자리 행정동코드를 구해 dong7에 저장하기
for row in code_data:
if top10_code8[i] == row[1]:
dong7 = row[0]
# location_data에서 7자리 행정동코드가 dong7인 행을 찾아 위도와 경도 구하기
for row in location_data:
if dong7 == row[2]:
top10_lat[i], top10_long[i] = row[-1], row[-2]