[Python 내장 함수] zip()함수 : 인덱스 요소 결합

 


1. Zip()함수란?

 

zip() 함수란 인덱스에 있는 요소들을 결합하여 새로운 순회 가능한 객체를 생성하는 함수이다. 아래 코드와 같이 fruits와 prices 리스트에서 과일 이름과 가격을 매칭할 수 있습니다. 

 

#그림
>>> fruits = ['사과', '바나나', '토마토']
>>> prices = [3000, 2500, 4000]
>>> for fruit, price in zip(fruits, prices):
>>>     print(fruit, price)

#출력 결과
#사과 3000
#바나나 2500
#토마토 4000

 

zip() 함수를 이용해 fruits 리스트와 prices리스트를 새로운 순회 가능한 객체로 만들고, 반복문을 이용해 생성된 객체에서 순서대로 요소를 가져와 print를 할 수 있습니다.

 

파이썬 zip() 함수 이미지

 

 


zip() 함수는 가장 짧은 리스트의 길이에 맞추어 새로운 순회 가능한 객체를 생성하므로, 길이가 다른 리스트를 사용할 경우 결과에 영향을 미칠 수 있습니다.

 

>>> fruits = ['사과', '바나나', '토마토','수박','참외']
>>> prices = [3000, 2500, 4000]
>>> for fruit, price in zip(fruits, prices):
>>>     print(fruit, price)

#출력 결과
#사과 3000
#바나나 2500
#토마토 4000

 



2. zip() 함수 연습 문제

2.1 Zip() 함수 문제 1번

 

다음과 같이 fruits와 colors 리스트에서 과일 이름과 색상을 매칭하세요.

 

더보기

##문제확인

>>> fruits = ['사과', '바나나', '토마토']
>>> colors = ['빨강', '노랑', '주황']
>>> for fruit, color in zip(fruits, colors):
>>>     print(fruit, color)

#출력 결과
#사과 빨강
#바나나 노랑
#토마토 주황

 


2.2 Zip() 함수 문제 2번

 

다음과 같이 numbers1과 numbers2 리스트에서 각 요소를 더하여 결과를 출력하세요.

 

더보기

##문제확인

>>> numbers1 = [1, 2, 3, 4]
>>> numbers2 = [10, 20, 30, 40]
>>> for num1, num2 in zip(numbers1, numbers2):
>>>     print(num1 + num2)

#출력 결과
#11
#22
#33
#44

 


2.3 Zip() 함수 문제 3번


다음과 같이 words와 definitions 리스트에서 단어와 정의를 매칭하세요.

 

더보기

##문제확인

>>> words = ['파이썬', '자바스크립트', '자바']
>>> definitions = ['프로그래밍 언어', '프로그래밍 언어', '프로그래밍 언어']
>>> for word, definition in zip(words, definitions):
>>>     print(word, definition)

#출력 결과
#파이썬 프로그래밍 언어
#자바스크립트 프로그래밍 언어
#자바 프로그래밍 언어

 


2.4 Zip() 함수 문제 4번

 

다음과 같이 names와 ages 리스트에서 이름과 나이를 매칭하세요.

 

더보기

##문제확인

>>> names = ['제이슨', '엘리스', '앨리스']
>>> ages = [30, 25, 35]
>>> for name, age in zip(names, ages):
>>>     print(name, age)

#출력 결과
#제이슨 30
#엘리스 25
#앨리스 35

 


2.5 Zip() 함수 문제 5번

 

다음과 같이 cities와 countries 리스트에서 도시와 국가를 매칭하세요.

 

더보기

##문제확인

>>> cities = ['시카고', '뉴욕', '로스앤젤레스']
>>> countries = ['미국', '미국', '미국']
>>> for city, country in zip(cities, countries):
>>>     print(city, country)

#출력 결과
#시카고 미국
#뉴욕 미국
#로스앤젤레스 미국