1. 기본 개념
- zip() 함수는 여러개의 순회 가능한(iterable) 객체를 병렬로 묶어서 튜플의 형태로 반환해주는 내장함수
- Python 내장 모듈 itertools에 포함된 zip_longest는 길이가 다른 iterable 객체들도 끝까지 짝을 지을 수 있게 하는 함수
(기본 내장 함수는 iterable 길이가 짧은 쪽을 기준으로 묶음) - <zip>이라는 iterator 객체를 반환, 한번만 순회 가능
- 주로 for 문 루프에서 여러 리스트를 동시에 순회하거나 쌍(pair)을 만들때 사용됨
기본형 : zip 객체(iterator) = zip(iter1, iter2, ...)
확장형 : zip_longest 객체(iterator) = itertools.zip_longest(iter1, iter2, ..., [fillvalue=None])
※매개변수 의미
- fillvalue : 짧은 iterable의 빈자리를 채울 값
2.주요 특징
- for문과 함께 사용
# 예시
for num, char in zip([1, 2, 3], ['a', 'b', 'c']):
print(num, char)
- 언패킹 가능 (zip 해제)
- * 연산자를 통해 시퀸스 언팩 가능
- matrix에 하면 전치(Row ↔ Column)가 됨 (= 같은 열끼리 묶여짐)
zipped = [(1, 'a'), (2, 'b'), (3, 'c')]
a, b = zip(*zipped)
- 딕셔너리 생성
# 예시
keys = ['name', 'age', 'city']
values = ['Alice', 25, 'New York']
dictionary = dict(zip(keys, values)) # {'name': 'Alice', 'age': 25, 'city': 'New York'}
3. zip() vs enumerate()
- zip() : 여러개의 iterable을 묶음
- enumerate() : iterable 에서 인덱스와 대응하는 값을 같이 반환
'Language & Tool > Python' 카테고리의 다른 글
| 🐍sort()와 sorted() 차이점 + 다른 정렬 방식 비교 (0) | 2025.06.11 |
|---|---|
| 🌱dict와 defaultdict + Counter (Python) (0) | 2025.06.10 |
| 🌱Python 주요 공통/문자열/수학/내장 메서드, 함수 (1) | 2025.06.10 |
| 🐍입출력 기본정리(input, print) (0) | 2025.06.09 |
| 🔄그래프 표현을 위한 인접 리스트 입력, 변환 (0) | 2025.06.09 |