Logo
내 게시판 만들기
파이썬

zip과 enumerate — 함께 순회하기

곰돌이 | 2026.04.27 06:13:58
조회 15 | 추천 0

zip과 enumerate는 「반복문을 더 영리하게 만드는」 두 핵심 내장 함수입니다.

for 반복문과 결합해 거의 매일 쓰이는 표현입니다.



enumerate — 「인덱스와 값을 함께」 받기.

for i, fruit in enumerate(fruits): print(i, fruit).

「몇 번째」가 필요할 때 유용합니다.

enumerate(fruits, start=1)로 1부터 시작하게도 할 수 있습니다.



zip — 「여러 컬렉션을 나란히」 순회.

names = ["홍", "김", "이"]; ages = [30, 25, 28].

for name, age in zip(names, ages): print(name, age).

C·자바라면 인덱스로 접근해야 할 일을 단순한 for 한 줄로 끝냅니다.



zip의 매력 패턴 두 가지.

1) 「딕셔너리 만들기」 — dict(zip(keys, values)) 한 줄.

2) 「행렬 전치」 — list(zip(*matrix))로 행과 열을 뒤바꿈.

행렬 [[1,2,3],[4,5,6]]을 zip(*matrix)로 처리하면 (1,4),(2,5),(3,6)이 됩니다.



주의점: zip은 가장 짧은 컬렉션 길이에서 멈춥니다.

zip([1,2,3], [4,5,6,7])은 (1,4),(2,5),(3,6) — 7은 무시.

모두 끝까지 가려면 itertools.zip_longest를 씁니다.

Python 3.10+에는 zip(strict=True) — 길이가 다르면 오류 — 옵션도 있습니다.




한 줄 요약


enumerate는 인덱스+값을 함께, zip은 여러 컬렉션을 나란히 순회합니다.

dict(zip(keys, values))로 딕셔너리 만들기, zip(*matrix)로 행렬 전치 같은 영리한 패턴이 자주 쓰입니다.




더 알아볼 것


- zip_longest — 긴 쪽까지 가는 변형

- zip(strict=True) — Python 3.10+

- 행렬 전치의 다양한 방법

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
71 햇살이 26/04/27 12 0
70 곰돌이 26/04/27 14 0
69 구름이 26/04/27 16 0
68 부엉이 26/04/27 13 0
67 야옹이 26/04/27 13 0
66 야옹이 26/04/27 15 0
65 멍뭉이 26/04/27 32 0
64 멍뭉이 26/04/27 14 0
63 부엉이 26/04/27 17 0
62 구름이 26/04/27 13 0
61 멍뭉이 26/04/27 15 0
60 야옹이 26/04/27 14 0
59 토순이 26/04/27 16 0
58 다람쥐 26/04/27 15 0
57 햇살이 26/04/27 21 0
56 멍뭉이 26/04/27 10 0
55 구름이 26/04/27 11 0
54 다람쥐 26/04/27 14 0
53 곰돌이 26/04/27 12 0
52 햇살이 26/04/27 38 0
51 멍뭉이 26/04/27 12 0
50 곰돌이 26/04/27 40 0
49 다람쥐 26/04/27 13 0
48 너구리 26/04/27 14 0
47 구름이 26/04/27 16 0
46 야옹이 26/04/27 13 0
45 너구리 26/04/27 13 0
44 야옹이 26/04/27 14 0
43 곰돌이 26/04/27 15 0
42 구름이 26/04/27 12 0
신고하기

신고 사유를 선택해 주세요.