파이썬

[PYTHON] zip()

고구마뿌리 2021. 12. 14. 15:33
728x90

1. zip()

zip() : 반복 가능한 리스트와 같은 iterable 객체를 인자로 받고 여러 인자의 원소를 동시에 하나하나 접근하여 이를 반환하는 함수

numbers = [1, 2, 3]
letters = ["A", "B", "C"]
for pair in zip(numbers, letters):
	print(pair)
    
>>>(1,"A")
>>>(2,"B")
>>>(3,"C")

n1 = [1, 2, 3]
n2 = [4,5,6]
for a,b in zip(n1, n2):
	print(a+b)
>>>5
>>>7
>>>9

 

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

 

3. 여러 그룹의 원소를 묶을 수도 있고 해체도 가능

# zip
numbers = (1, 2, 3)
letters = ("A", "B", "C")
pairs = list(zip(numbers, letters))
print(pairs)

>>>[(1, 'A'), (2, 'B'), (3, 'C')]

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

 

4. dictionary 변환

사전 형태로 변환할 때도 사용가능

keys = [1, 2, 3]
values = ["A", "B", "C"]
print(dict(zip(keys, values)))
>>>{1: 'A', 2: 'B', 3: 'C'}

 

 

참고

코드 예시-https://www.daleseo.com/python-zip/

반응형