본문 바로가기
프로그래밍 언어(Programming Languages)/파이썬(Python)

[Python] zip() 함수의 강력한 마법

by 데이터 벌집 2024. 1. 21.
반응형

안녕하세요! 여러분이 Python 프로그래밍에 대해 더 깊이 알고 싶어하는 열정을 느낄 수 있습니다. 🚀 오늘은 Python에서 매우 유용하게 사용되는 zip() 함수에 대해 탐구해보려고 합니다. zip() 함수는 여러 개의 이터러블(iterable, 반복 가능한 객체)을 인자로 받아, 동일한 인덱스에 위치한 요소들끼리 묶어주는 역할을 합니다. 🎁 이 기능은 데이터를 조작하거나, 여러 시퀀스를 동시에 루핑(looping)할 때 굉장히 편리하죠!

 

Python - ZIp 함수

 


zip() 함수의 기본 사용법 📘

zip() 함수의 기본 사용법은 간단합니다. 두 개 이상의 리스트나 튜플 같은 이터러블을 인자로 전달하면, zip() 함수는 각 이터러블에서 같은 위치에 있는 요소들을 하나씩 차례로 묶어서 튜플로 반환합니다. 이때 반환되는 결과는 'zip' 객체이며, 이는 list(), dict() 등으로 변환하여 사용할 수 있습니다.

 

예를 들어, 두 명의 학생 이름과 그들의 성적을 묶어서 보고 싶을 때 zip() 함수를 사용할 수 있습니다:

student_names = ['철수', '영희']
student_grades = [85, 92]
students_zip = zip(student_names, student_grades)
students_list = list(students_zip)
print(students_list)  # [('철수', 85), ('영희', 92)]

 

🔍 더 나아가, zip() 함수는 * 연산자(unpack operator)와 함께 사용되어, 묶여진 이터러블을 원래의 상태로 "언패킹(unpacking)" 할 수도 있습니다. 이를 이용하면, 묶여진 데이터를 다시 분리할 수 있어요:

 

names, grades = zip(*students_list)
print(names)  # ('철수', '영희')
print(grades)  # (85, 92)

 

 

zip() 함수는 여러 이터러블을 하나로 묶어서 처리할 때 매우 강력한 도구입니다. 🛠️ 복잡한 데이터 구조를 다루거나, 다수의 데이터 컬렉션을 동시에 순회할 때 효율적으로 사용할 수 있죠.

 

다만, 사용 시 이터러블들의 길이 차이에 유의해야 하며, 필요한 경우 itertools.zip_longest()를 사용하여 해결할 수 있습니다. zip() 함수를 사용함으로써, 우리의 코드는 훨씬 더 간결하고 읽기 쉬워질 것입니다. 프로그래밍 여정에 이 작은 팁이 큰 도움이 되길 바랍니다! 🎉😄👍

반응형