zip() 함수를 활용한 다양한 리스트 조합 방법
Python의 내장 함수 중 하나인 zip()
함수는 매우 유용한 도구입니다. 이 글에서는 zip()
함수의 기능, 장점, 그리고 다양한 사용 예시에 대해 알아보겠습니다.
zip() 함수란?
zip()
함수는 여러 개의 이터러블 객체(예: 리스트, 튜플)를 받아 동일한 인덱스의 원소를 묶어주는 역할을 합니다. 이렇게 묶은 결과는 새로운 이터러블 객체를 형성합니다.
zip() 함수의 장점
- 여러 이터러블 객체를 동시에 순회할 수 있어 코드가 간결해집니다.
- 임시 리스트를 생성하지 않기 때문에 메모리 효율이 좋습니다.
- 데이터 사이언스, 웹 스크레이핑 등 다양한 분야에서 활용이 가능합니다.
예시 1
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
print(list(zipped))
Output: [(1, 'a'), (2, 'b'), (3, 'c')]
예시 2
for l1, l2 in zip(list1, list2):
print(f'{l1} is paired with {l2}')
Output1 is paired with a 2 is paired with b 3 is paired with c
예시 3
def pair_elements(list1, list2):
for l1, l2 in zip(list1, list2):
print(f'{l1} is paired with {l2}')
pair_elements(list1, list2)
Output1 is paired with a 2 is paired with b 3 is paired with c
예시 4
import pandas as pd
df = pd.DataFrame({'Number': [1, 2, 3], 'Letter': ['a', 'b', 'c']})
df['Paired'] = list(zip(df['Number'], df['Letter']))
print(df)
OutputNumber Letter Paired 0 1 a (1, 'a') 1 2 b (2, 'b') 2 3 c (3, 'c')
예시 5
keys = ['name', 'age', 'job']
values = ['Alice', 29, 'Engineer']
my_dict = dict(zip(keys, values))
print(my_dict)
Output{'name': 'Alice', 'age': 29, 'job': 'Engineer'}
참고 자료
더 자세한 정보는 Python 공식 문서에서 확인하실 수 있습니다. Python 공식 문서