[python] zip 메서드

insung·2025년 10월 9일

python

목록 보기
1/3

Python의 zip 메서드

  • 알고리즘을 풀다 보면 가끔 보이는 zip 메서드에 대해 알아보자.
  • Python의 zip 메서드는 여러 개의 iterable(리스트, 튜플 등)을 인덱스 기준으로 묶어서, 각 인덱스에 해당하는 요소들을 하나의 튜플로 만들어주는 함수이다.

기본 사용법

a = [1, 2, 3]
b = ['a', 'b', 'c']
result = zip(a, b)
print(list(result))  # [(1, 'a'), (2, 'b'), (3, 'c')]

주요 특징

  • 여러 iterable 동시 순회
    • 각 iterable의 같은 인덱스끼리 묶어서 튜플로 반환.
  • 반환값
    • zip 객체(iterator)를 반환하므로, list나 tuple로 변환하여 사용할 수 있음
  • 가장 짧은 iterable 기준으로 입력된 iterable 중 가장 짧은 길이를 기준으로 동작.
a = [1,2,3]
b = ['a','b']
print(list(zip(a,b)))  # [(1, 'a'), (2, 'b')]
  • 언패킹 연산자(*)와 함께 사용
    • 여러 개의 리스트를 행/열 변환(전치)할 때도 자주 활용됨
pairs = [(1, 'a'), (2, 'b'), (3, 'c')]
nums, chars = zip(*pairs)
print(nums)   # (1, 2, 3)
print(chars)  # ('a', 'b', 'c')

대표적인 사용 예시

  • 두 개 이상의 리스트를 동시에 순회하면서 처리하고 싶을 때
  • 행렬 전치(Transpose) 등 행과 열을 바꿔야 할 때
  • 여러 데이터 소스를 묶어서 처리할 때

여러 iterable을 '묶어주는' 역할을 하며, 주로 for문이나 리스트/딕셔너리 생성, 데이터 전처리 시에 매우 유용하게 사용됨

profile
안녕하세요 프론트엔드 관련 포스팅을 주로 하고 있습니다

0개의 댓글