[Python] 파이썬 zip() 매서드 사용법
본문 바로가기
Python/매서드 Method, 내장 함수 등 정리

[Python] 파이썬 zip() 매서드 사용법

by 쏠수있어ㅤ 2021. 6. 16.
반응형

   Python   

.zip() 매서드

 

 

 

 

  매서드 풀이  

 

zip() -  동일 개수로 이루어진 자료형을 묶어 주는 함수

zip -> zipper 지퍼처럼 각각 리스트에 있는 요소를 담아 지퍼로 잠가 보관하는 느낌 같다! 

 

 

 

    반환값 :   

 

두 개 이상의 리스트의 값의 같은 인덱스 짝별로 묶어 튜플에 담아 반환

* 만약 인덱스 짝이 없다면 짝이 있는 부분만 return (나머지는 버려짐) 

 

 

 

 

 

    예제 1.   

 

두 개의 리스트뿐만 아니라 여러개의 리스트도 인덱스, 짝이 맞으면 zip 으로 묶을 수 있다. 

d 의 경우 'D' 네번째 요소는 버려진다. (짝이 없기때문) 

a = [1,2,3]
b = ['a','b','c']
c = ['*','*','*']
d = ['A','B','C','D']


print(zip(a,b))
print(list(zip(a,b)))

print(zip(a,b,c))
print(list(zip(a,b,c)))

print(zip(a,b,c,d))
print(list(zip(a,b,c,d)))

 

for 구문으로 unpacking 하기

a = [1,2,3]
b = ['a','b','c']
c = ['*','*','*']
d = ['A','B','C','D',7, 9 , 8]


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

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

for i in zip(a,b,c,d):
    print(i)

 

 

 

 

 

 

    예제 2. unzip()   *  

zip( *  ) 을 이용하여 zipped한 요소들을 unzip 하기

a = [1,2,3]
b = ['a','b','c']


pairs = list(zip(a,b))
print(pairs)

c,d = zip(*pairs)
print(c)
print(d)


A = [1,2,3]
B = ['a','b','c']
C = ['-','*','^']

zipped = list(zip(A,B,C))
print(zipped)

x,y,z = zip(*zipped)
print(x)
print(y)
print(z)

 

 

 

 

 

 

  예제  3.  zip() 함수를 사용해 dictionary 사전 변환 

zip() 함수 (쌍으로 묶는 ) 특성 덕분에 dictionary 형을 만들기가 쉽다.!

dictionary 는 꼭 2개의 요소가 대칭적으로 들어가기 떄문에 아래 3가지를 zipped한 것을 딕셔너리로 바꾸게되면 오류가 난다. 

a = [1,2,3]
b = ['a','b','c']

list_pairs = list(zip(a,b))
print(list_pairs,'\n')
dict_pairs = dict(zip(a,b))
print(dict_pairs, '\n')

A = [1,2,3]
B = ['a','b','c']
C = ['-','*','^']

list_zipped = list(zip(A,B,C))
print(list_zipped)

dict_zipped = dict(zip(A,B,C))
print(dict_zipped)

 

 

 

 

 

반응형

댓글