Programming

; develop a program

Back-End/Python

[Python] zip 함수

Clloud_ 2023. 6. 24. 08:13
반응형

이번 포스팅에서는 파이썬의 함수 중 하나인 zip 함수에 대하여 공부를 해보고자 한다.

 


zip 함수란

zip 함수는 여러 개의 이터러블(Iterable) 객체를 묶어서 각 객체의 원소들을 순서대로 조합하는 역할을 한다.
또한, 새로운 이터러블 객체를 반환하며, 이 객체는 튜플 형태로 각 이터러블 객체의 원소들을 조합한 결과를 포함한다.

 

zip 함수는 다음과 같은 구문으로 사용된다.

zip(*iterables)
  • 여기서 iterables는 하나 이상의 이터러블 객체를 전달하는 매개변수이다.
  • zip 함수는 각 이터러블 객체의 원소들을 순서대로 조합하여 튜플로 묶은 후, 이 튜플들을 반환한다.
  • 조합되는 튜플의 개수는 iterables 중 가장 짧은 이터러블 객체의 길이에 맞춰진다.

 


특징

1. 이터러블 객체 (Iterables)

  • zip 함수는 하나 이상의 이터러블 객체를 인자로 받는다.
  • 이터러블 객체는 여러 개의 원소로 구성된 데이터 시퀀스를 의미한다.
  • 일반적으로 리스트, 튜플, 집합, 문자열 등이 이터러블 객체에 해당된다.

 

2. 길이 맞추기

  • zip 함수는 인자로 전달된 이터러블 객체들 중에서 가장 짧은 길이를 가진 객체를 기준으로 원소를 조합한다.
  • 따라서, 길이가 다른 이터러블 객체를 인자로 전달할 경우에는 가장 짧은 길이에 맞춰 조합된다.
  • 길이가 다른 객체의 끝 부분은 무시된다.

 

3. 조합된 튜플 반환

  • zip 함수는 각 이터러블 객체의 동일한 위치에 있는 원소들을 조합하여 튜플로 묶는다.
  • 이렇게 조합된 튜플들은 새로운 이터러블 객체로 반환된다.

 

4. 반환된 이터러블 객체 사용

  • 반환된 이터러블 객체는 zip 객체라고도 불리며, 이를 직접 출력하거나 인덱싱할 수 없다.
  • zip 객체를 사용하기 위해서는 반복문(for 루프)이나 list 함수를 활용해야 한다.
  • 예를 들어, zip 객체를 반복문으로 순회하면 각 튜플을 차례대로 얻을 수 있다.
    각 튜플은 이터러블 객체들의 원소들을 조합한 결과
  • 또는 list 함수를 사용하여 zip 객체를 리스트로 변환할 수도 있다.
    이렇게 변환하면 리스트의 각 원소는 조합된 튜플이 된다.

 


예시

리스트의 원소들을 병렬적으로 처리하기

numbers = [1, 2, 3]
letters = ['a', 'b', 'c']
for num, letter in zip(numbers, letters):
    print(num, letter)
# 출력
# 1 a
# 2 b
# 3 c

 

딕셔너리 생성하기

keys = ['name', 'age', 'city']
values = ['John', 30, 'New York']
person_dict = dict(zip(keys, values))
print(person_dict)
# 출력: {'name': 'John', 'age': 30, 'city': 'New York'}

 

zip 객체를 리스트로 변환하기

fruits = ['apple', 'banana', 'orange']
counts = [3, 6, 4]
fruit_counts = list(zip(fruits, counts))
print(fruit_counts)
# 출력: [('apple', 3), ('banana', 6), ('orange', 4)]

 


반응형

'Back-End > Python' 카테고리의 다른 글

[Python] deque  (0) 2023.06.27
[Python] 정규 표현식(Regular Expression)  (0) 2023.06.26
[Python] isdigit 메서드  (0) 2023.06.21
[Python] isnumeric 메서드  (0) 2023.06.19
[Python] enumerate 함수  (0) 2023.06.17