기본 패턴
python
names = ["Mina", "Lee", "Kim"]
ages = [26, 31, 19]
for name, age in zip(names, ages):
print(name, ":", age)
for index, name in enumerate(names, start=1):
print(index, name)설명
zip은 여러 iterable을 같은 길이만큼 묶어서 튜플을 반환합니다.enumerate는 값 옆에 현재 인덱스를 붙여 줍니다.- 둘을 함께 쓰면
zip(enumerate(), ...)처럼 인덱스와 여러 열을 동시에 처리할 수도 있습니다.
짧은 예제
python
speeds = [10, 20, 30]
for (idx, name), speed in zip(enumerate(names), speeds):
print(idx + 1, name, f"{speed}km/h")빠른 정리
| 함수 | 특징 |
|---|---|
zip(a, b) | 병렬 튜플 생성 |
enumerate(seq, start=1) | 인덱스 포함 |
zip(*iterables) | 언패킹으로 병렬 해제 |
주의할 점
zip은 가장 짧은 iterable 길이에 맞춰 끊기므로, 길이가 다른 경우 itertools.zip_longest를 고려하세요.