토막코딩/Python

Python의 zip() 함수로 여러 반복 가능한 객체 동시에 순회하기

컴곰 2023. 9. 26. 07:33

Python의 zip() 함수로 여러 반복 가능한 객체 동시에 순회하기


여러 개의 리스트나 다른 반복 가능한 객체를 동시에 순회하면서 각 객체에서 항목을 동시에 가져오고 싶을 때가 있습니다. 이럴 때 Python의 내장 함수인 zip()을 활용하면 이를 쉽게 할 수 있습니다.

zip() 함수는 여러 개의 반복 가능한 객체를 인자로 받아, 각 객체에서 동시에 항목을 가져와 튜플로 묶은 결과를 반환합니다. 결과적으로, 반환되는 이터레이터는 튜플의 시퀀스로 구성됩니다.

예시:

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
cities = ["New York", "Paris", "London"]

for name, age, city in zip(names, ages, cities):
    print(f"{name} is {age} years old and lives in {city}.")

출력:

Alice is 25 years old and lives in New York.
Bob is 30 years old and lives in Paris.
Charlie is 35 years old and lives in London.

zip() 함수는 인자로 제공된 반복 가능한 객체 중 가장 짧은 길이의 객체를 기준으로 동작합니다. 즉, 리스트의 길이가 서로 다르면 가장 짧은 리스트의 길이만큼만 순회하게 됩니다.

또한 zip()의 결과를 다시 리스트나 튜플로 변환하려면, 간단히 list() 또는 tuple() 생성자를 사용하면 됩니다.

다음 번에 여러 개의 리스트나 반복 가능한 객체를 동시에 순회할 필요가 있을 때, zip()을 활용해보세요!