포시코딩

zip() 함수로 데이터 엮기 본문

Python

zip() 함수로 데이터 엮기

포시 2022. 12. 20. 17:07
728x90

기본문법

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

for pair in zip(numbers, letters):
  print(pair)
  
# (1, 'A')
# (2, 'B')
# (3, 'C')

zip()을 몰랐을 때는 아래처럼 작성했을 것이다.

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

for i in range(3):
  pair = (numbers[i], letters[i])
  print(pair)
  
# (1, 'A')
# (2, 'B')
# (3, 'C')

 

병렬처리

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

 

zip()을 통해 list를 만들고 unzip()을 통해 풀기

numbers = (1, 2, 3)
letters = ("A", "B", "C")

pairs = list(zip(numbers, letters))

print(pairs)
# [(1, 'A'), (2, 'B'), (3, 'C')]
numbers, letters = zip(*pairs)

numbers
# (1, 2, 3)
letters
# ('A', 'B', 'C')

 

dict()로의 변환

keys = [1, 2, 3]
values = ["A", "B", "C"]
dict(zip(keys, values))

# {1: 'A', 2: 'B', 3: 'C'}

 

 

 

 

https://www.daleseo.com/python-zip/

 

파이썬의 zip() 내장 함수로 데이터 엮기

Engineering Blog by Dale Seo

www.daleseo.com

728x90