본문 바로가기

Languages/Python

[파이썬 101] zip()

728x90

기본 문법

numbers = [1, 2, 3]
letters = ["A", "B", "C"]



# zip 사용
for pair in zip(numbers, letters):
    print(pair)
print('\n')



# 병렬 처리
for number, upper, lower in zip("12345", "ABCDE", "abcde"):
    print(number, upper, lower)
print('\n')



# unzip
pairs = list(zip(numbers, letters))
print(pairs)

numbers, letters = zip(*pairs)
print(numbers)
print(letters)

numbers = list(numbers)
letters = list(letters)
print(numbers)
print(letters)
print('\n')



# Dictionary로 변환
print(dict(zip(numbers, letters)))

 

- iterable 객체를 인자로 받아 iterator를 반환

- 여러 List를 순서대로 쌍으로 묶어줌

- string은 하나씩 처리됨

- *을 붙이면 unzip 할 수 있음 (이 경우 list로 변환이 필요)

- dictionary로 바로 변환할 수 있음 (길이가 다를 경우 짧은 놈 기준. 나머지는 무시됨)

 

 

 

 

 

 

 

참조
 - DaleSeo 님의 블로그
반응형