반응형
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)
반응형
'Python > 매서드 Method, 내장 함수 등 정리' 카테고리의 다른 글
[Python3] 최신버전 Reduce 사용법 lambda 표현법 (0) | 2021.07.05 |
---|---|
[python] 합집합, 교집합, 차집합, 대칭차, 다중 집합의 합집합, 교집합까지 총 정리 / 파이썬 중복 집합 (0) | 2021.06.15 |
[Python] math.gcd & math.lcm 최대공약수 최소공배수 한번에 쉽게 구하기 (0) | 2021.06.13 |
[Python]숫자, 문자열에 0 또는 다른문자 채우기 .zfill() .rjust() .ljust() .center() (0) | 2021.06.06 |
[Python] 파이썬 .join 총 정리 / 리스트를 문자열로 바꾸기 (0) | 2021.06.04 |
댓글