파이썬 코딩을 더 깔끔하게! #8
Better Way 8. 여러 이터레이터에 대해 나란히 루프를 수행하려면 zip을 사용하라
zip함수
- zip함수를 통해서 여러 이터레이터를 나란히 이터레이션할 수 있다.
- zip은 튜플을 지연계산하는 제너레이터를 만든다. 따라서 무한히 긴 입력에도 zip을 사용할 수 있다.
- zip제너레이터는 각 이터레이터의 다음 값이 들어 있는 튜플을 반환한다.
for name, count in zip(names, counts):
if counts > max_count:
longest_name = name
max_count = count
- 입력 이터레이터의 길이기 서로 다르면 zip은 아무런 경고도 없이 가장 짧은 이터레이터 길이까지만 튜플을 내놓고 더 긴 이터레이터의 나머지 원소는 무시한다.
names.append('Rosalind')
for name, count in zip(names, counts):
print(name)
>>>
Cecilia
남궁민수
毛泽东
- 가장 짧은 이터레이터에 맞춰 길이를 제한하지 않고 길이가 서로 다른 이터레이터에 대해 루프를 수행하려면 itertools 내장 모듈의 zip_longest 함수를 사용하라
import itertools
for name, count in itertools.zip_longest(names, counts):
print(f'{name}: {count}')
Author And Source
이 문제에 관하여(파이썬 코딩을 더 깔끔하게! #8), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dongho5041/파이썬-코딩을-더-깔끔하게-8저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)