꺼내먹는지식 준

Python Zip 본문

Python/간단한 이해 글

Python Zip

알 수 없는 사용자 2022. 2. 4. 11:02
i , c = zip([1,2],[3,4])
print(i)
# 1,3

for i, c in zip([1,2],[3,4]): 
	print(i)
# 1, 2

Zip 을 어렵게 설명할 것 없이 간단한 사용법만 설명해본다. 

 

위와 같은 두 경우 출력값이 다르다. 

이는, zip 함수 자체가 두개의 iterator를 결합시켜주기 때문이다. 

 

i, c = zip([1,2], [3,4])의 경우 

i, c = [(1,3), (2,4)] 가 되어 i  값이 1,3 이고, 

 

for i, c in zip([1,2], [3,4]) 의 경우 

for i,c in [(1,3), (2,4)] 가 되어 

i 값이 1,2 가 된다. 

 

특별히 유의할 점은 

for number, upper, lower in zip("12345", "ABCDE", "abcde"):
	print(number, upper, lower)

#1 A a
#2 B b
#3 C c
#4 D d
#5 E e

string의 경우 다음과 같이 처리가 되고, 

 

i = zip([1,2],[3,4])
#i = [(1, 3), (2, 4)]
a,b = zip(*i)
#a = [1,2]
#b = [3,4]

zip 한 것을 변수앞에 *연산자를 붙이고 zip함수를 통과시키면 unzip도 가능하다. 

 

 

더 나아가서 활용 법으로는 

a = ["String", "String2", "String3"]

dct = dict(zip(a, range(3)))

위와 같이 dictionary 를 선언할 때 활용도 가능하다. 

'Python > 간단한 이해 글' 카테고리의 다른 글

Pandas  (0) 2022.01.18
numpy  (0) 2022.01.18
String 및 변수, 함수 관련  (0) 2022.01.17
Python List  (0) 2022.01.17
컴퓨터 기본 내용 정리, 파이썬 기본 내용 정리  (0) 2022.01.17
Comments