두 개의 리스트를 한꺼번에 for문으로 돌리기 (+enumerate)
두 개의 리스트를 for문으로 돌린다면 이중 for문이 우선적으로 떠오르시겠지만,
두 리스트의 인덱스를 동일하게 변경하여야 되는 경우에는 이중 for문을 사용할 수 없겠죠 ^^
예컨대 다음과 같은 두 리스트(도시, 인구수)가 있는 경우를 상정해보겠습니다.
[code]
city = ['서울', '부산', '대구', '인천', '대전']
pop = [970, 340, 290, 240, 150]
[/code]
위와 같은 경우에 for문에 range()를 이용하여 인덱스 자체를 직접 변경해주는 방법도 물론 있겠지만,
제 개인적으로는 다음과 같이 zip()을 이용하는 방법이 보다 파이써닉하다고 생각합니다 :)
[code]
city = ['서울', '부산', '대구', '인천', '대전']
pop = [970, 340, 290, 240, 150]
for i, j in zip(city, pop):
print(f'{i}의 인구는 {j}만입니다.')
[/code]
여기에서 한 걸음 더 나아가 다음과 같은 방법으로 for문에 두 개의 리스트를 넣고 한꺼번에 돌리는 동시에 enumerate까지 사용할 수 있습니다!
[code]
for idx, (value1, value2) in enumerate(zip(list1, list2)):
print(idx, value1, value2)
[/code]
주의하실 점은 첫 번째 줄에서 (value1, value2) 이렇게 괄호를 반드시 사용하여야 됩니다 ^^
+)
참고로 Python 2에서는 위 방법을 사용할 수 없고, 다음과 같이 itertools.izip()을 사용하여야 됩니다.
[code]
import itertools
for a, b in itertools.izip(list_a, list_b):
print(a, b)
[/code]
댓글 2개
그럼 선구자 님께서도 즐거운 주말 되시고,
코로나19로 어려운 시국이지만 항상 건강하세요! :)
게시판 목록
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 31 | 5년 전 | 857 | ||
| 30 | 6년 전 | 902 | ||
| 29 | 6년 전 | 904 | ||
| 28 | 6년 전 | 1020 | ||
| 27 | 6년 전 | 768 | ||
| 26 | 6년 전 | 663 | ||
| 25 | 6년 전 | 732 | ||
| 24 | 6년 전 | 992 | ||
| 23 | 6년 전 | 4987 | ||
| 22 | 6년 전 | 1095 | ||
| 21 | 6년 전 | 743 | ||
| 20 | 6년 전 | 1904 | ||
| 19 | 6년 전 | 1616 | ||
| 18 | 6년 전 | 990 | ||
| 17 | 6년 전 | 1395 | ||
| 16 | 6년 전 | 1156 | ||
| 15 | 6년 전 | 943 | ||
| 14 | 6년 전 | 912 | ||
| 13 | 6년 전 | 3309 | ||
| 12 | 6년 전 | 1301 | ||
| 11 | 6년 전 | 1553 | ||
| 10 | 6년 전 | 1390 | ||
| 9 | 6년 전 | 1342 | ||
| 8 | 6년 전 | 1542 | ||
| 7 | 6년 전 | 1529 | ||
| 6 | 6년 전 | 1578 | ||
| 5 | 6년 전 | 2028 | ||
| 4 | 6년 전 | 1644 | ||
| 3 | 6년 전 | 1276 | ||
| 2 | 6년 전 | 1704 |

댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기