Python/내장 함수

zip

화요밍 2021. 1. 8. 20:53
728x90
반응형

 zip()은 동일한 개수로 이루어진 반복 가능한(iterable) 자료형을 같은 인덱스끼리 묶어주는 역할을 하는 함수이다.

 

 


사용 예제

  • 출력
a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd', 'e']

for i, j in zip(a,b):
    print(i, j)

>> 1 a
2 b
3 c
4 d
5 e

  • * = Unpack

*는 리스트를 Unpack해준다.

만약, A = [[1, 2], [3, 4], [5, 6]]가 있을 때 B = [(1, 3, 5), (2, 4, 6)]를 *를 사용하여 만들 수 있다.

A = [[1, 2], [3, 4], [5, 6]]
B = list(zip(*A))
print(B)
>> [(1, 3, 5), (2, 4, 6)]

 

- 주의 할 점

A = [[1, 2], [3, 4], [5, 6]]
B = list(zip(A))
print(B)
>> [([1, 2],), ([3, 4],), ([5, 6],)]

이렇게 A를 Unpack하지 않고 zip해주면 이런 결과가 출력되므로 실수하지 않도록 주의한다.

 


  • 리스트형
a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd', 'e']
print(list(zip(a,b)))

>> [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]

  • 딕셔너리형
a = [1, 2, 3, 4, 5]
b = ['a', 'b', 'c', 'd', 'e']
dic = {}

for i, j in zip(a, b):
    dic[i] = j

print(dic)

>> {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'e'}

 

 


활용 문제

 

Level 2 행렬의 곱셈 Python3

https://programmers.co.kr/learn/courses/30/lessons/12949?language=python3 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18..

hwayomingdlog.tistory.com

728x90
반응형

'Python > 내장 함수' 카테고리의 다른 글

replace, rjust, ljust, zfill  (0) 2021.02.09
count, len  (0) 2021.01.21
bin, oct, hex  (0) 2021.01.21
upper, lower, capitalize, title  (0) 2021.01.09