zip이란?
zip은 파이썬 내장 함수로, 여러 개의 순회 가능한(iterable) 객체들을 동시에 순회할 때 사용됩니다. 이 함수는 각 객체에서 같은 인덱스에 위치한 요소들을 튜플로 묶어서 반환합니다. 이번 포스팅에서는 zip 함수의 사용법과 다양한 활용 예시를 알아보도록 하겠습니다.
zip 함수의 문법과 사용법
zip 함수는 아래와 같은 문법으로 이용할 수 있습니다:
python
zip(*iterables)
– iterables는 한 개 이상의 iterable 객체들을 입력으로 받습니다.
– zip 함수는 각 객체의 요소를 튜플로 묶어서 반환합니다.
– 최종 결과는 zip 객체로 반환되며, 이 객체는 순회 가능한(iterable) 객체입니다.
간단한 사용 예시를 살펴보겠습니다:
“`python
numbers = [1, 2, 3]
letters = [‘a’, ‘b’, ‘c’]
zipped = zip(numbers, letters)
for item in zipped:
print(item)
위의 코드를 실행하면 다음과 같은 결과가 출력됩니다:
(1, ‘a’)
(2, ‘b’)
(3, ‘c’)
“`
zip 함수의 활용 예시들
여러 개의 리스트 동시 순회하기
zip 함수는 여러 개의 리스트를 동시에 순회하는 경우에 유용하게 사용될 수 있습니다. 아래의 예시를 살펴보겠습니다:
“`python
names = [‘Alice’, ‘Bob’, ‘Charlie’]
scores = [85, 92, 78]
grades = [‘B’, ‘A’, ‘C’]
for name, score, grade in zip(names, scores, grades):
print(f'{name}: {score}점, 학점: {grade}’)
위의 코드를 실행하면 다음과 같은 결과가 출력됩니다:
Alice: 85점, 학점: B
Bob: 92점, 학점: A
Charlie: 78점, 학점: C
“`
리스트의 요소 풀기(unzip)
zip 함수를 사용하여 묶은 튜플을 다시 풀어낼 수도 있습니다. 이를 위해서는 zip 함수에 * 연산자를 사용해야 합니다. 아래의 예시를 살펴보겠습니다:
“`python
zipped = [(1, ‘a’), (2, ‘b’), (3, ‘c’)]
numbers, letters = zip(*zipped)
print(numbers)
print(letters)
위의 코드를 실행하면 다음과 같은 결과가 출력됩니다:
(1, 2, 3)
(‘a’, ‘b’, ‘c’)
“`
위 예시에서는 zip 함수를 사용하여 numbers와 letters라는 두 개의 튜플을 묶은 후, 다시 각각의 변수로 풀어냈습니다.
결론
이 포스팅에서는 zip 함수의 사용법과 다양한 활용 예시들을 알아보았습니다. zip 함수는 여러 개의 순회 가능한 객체를 동시에 순회하고, 요소들을 튜플로 묶어줌으로써 유용하게 활용될 수 있습니다. 앞으로도 zip 함수를 적절히 활용하여 효율적인 파이썬 프로그래밍을 해보시기 바랍니다.