zip 함수

dobyming·2022년 12월 28일
0

zip 함수

여러 개의 순회 가능한(iterable) 객체를 인자로 받고, 각 객체가 담고 있는 원소를 튜플의 형태로 차례로 접근할 수 있는 반복자(iterator)를 반환

코테에서 언제 쓰이느냐 : 두 개의 배열이 주어지고, 그 배열의 연관성이 있을때(둘이 엮어서 한번에 for문을 돌리고 싶을때)

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

🐱‍🏍 2차원 리스트 뒤집기 - zip(*) Unpacking

다른 언어에서는..(또는 이 기능을 모르시는 분은)

보통은 다음과 같이 2중 for 문을 이용해 리스트의 row와 column을 뒤집습니다.

new_list = [[], [], []]

for i in range(len(mylist)):
    for j in range(len(mylist[i])):
        new_list[i].append(mylist[j][i])

python에서는

파이썬의 zip과 unpacking 을 이용하면 코드 한 줄로 리스트를 뒤집을 수 있습니다.

mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
new_list = list(map(list, zip(*mylist)))

실행결과

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

0개의 댓글