본문 바로가기
Study (Data Science)/Python

참고) zip( ) 함수

by 콜라찡 2022. 11. 29.

zip 

여러개의 iterable 객체 (like. list, tuple, dic..) 을 객체로 받으면서,

각 객체가 담고 있는 원소를 차례로 접근할 수 있는 능력자 iterator.

원래는 이렇게 for문을 두 리스트에 돌리겠지만, 

>>> numbers = [1, 2, 3]
>>> letters = ["A", "B", "C"]
>>> for i in range(3):
...     pair = (numbers[i], letters[i])
...     print(pair)
...
(1, 'A')
(2, 'B')
(3, 'C')

zip을 사용하면,

>>> for i in range(3):
...     pair = (numbers[i], letters[i])

 

이렇게 두 줄이

>>> for pair in zip(numbers, letters):

 

이렇게 한 줄로 줄어든다.

>>> numbers = [1, 2, 3]
>>> letters = ["A", "B", "C"]
>>> for pair in zip(numbers, letters):
...     print(pair)
...
(1, 'A')
(2, 'B')
(3, 'C')

혹시나 list로 바로 출력하고 싶으면, (=unzip)
변수명 주고 바로 list로 바꿔서 배당
>>> pairs = list(zip(numbers, letters))
>>> print(pairs)
[(1, 'A'), (2, 'B'), (3, 'C')]

더 줄이면, 

list를 줄 필요도 없어진다.

728x90

댓글