Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬 zip() 함수

<시간/>

zip() 함수는 여러 반복자를 그룹화하는 데 사용됩니다. zip() 문서 보기 도움말을 사용하는 기능 방법. zip()에 대한 도움말을 보려면 다음 코드를 실행하세요. 기능.

예시

help(zip)

위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

출력

Help on class zip in module builtins:
class zip(object)
   | zip(iter1 [,iter2 [...]]) --> zip object
   |
   | Return a zip object whose .__next__() method returns a tuple where
   | the i-th element comes from the i-th iterable argument. The .__next__()
   | method continues until the shortest iterable in the argument sequence
   | is exhausted and then it raises StopIteration.
   |
   | Methods defined here:
   |
   | __getattribute__(self, name, /)
   | Return getattr(self, name).
   |
   | __iter__(self, /)
   | Implement iter(self).
   |
   | __new__(*args, **kwargs) from builtins.type
   | Create and return a new object. See help(type) for accurate signature.
   |
   | __next__(self, /)
   | Implement next(self).
   |
   | __reduce__(...)
   | Return state information for pickling.

작동 방식에 대한 간단한 예를 볼까요?

예시

## initializing two lists
names = ['Harry', 'Emma', 'John']
ages = [19, 20, 18]
## zipping both
## zip() will return pairs of tuples with corresponding elements from both lists
print(list(zip(names, ages)))

위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

출력

[('Harry', 19), ('Emma', 20), ('John', 18)]

압축된 개체에서 요소의 압축을 풀 수도 있습니다. 앞에 *가 있는 객체를 zip()에 전달해야 합니다. 기능. 봅시다.

예시

## initializing two lists
names = ['Harry', 'Emma', 'John']
ages = [19, 20, 18]
## zipping both
## zip() will return pairs of tuples with corresponding elements from both lists
zipped = list(zip(names, ages))
## unzipping
new_names, new_ages = zip(*zipped)
## checking new names and ages
print(new_names)
print(new_ages)

위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

('Harry', 'Emma', 'John')
(19, 20, 18)

zip()의 일반적인 사용법

이를 사용하여 다른 반복자의 여러 해당 요소를 한 번에 인쇄할 수 있습니다. 다음 예를 살펴보겠습니다.

예시

## initializing two lists
names = ['Harry', 'Emma', 'John']
ages = [19, 20, 18]
## printing names and ages correspondingly using zip()
for name, age in zip(names, ages):
print(f"{name}'s age is {age}")

위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

출력

Harry's age is 19
Emma's age is 20
John's age is 18