본문 바로가기
Programming/Python

[Python] Enumerate, Zip

by Foxy현 2022. 12. 22.
728x90
반응형

내장 함수 range로 정수 집합을 순회하여 반복문을 작성하곤한다.

 

하지만 정수가 아닌, 리스트의 경우에는 직접 루프를 실행하기도 한다.

예를 들어,

 

fruit = ['apple','banana','orange']

for a in fruit:
	print(a)

코드의 결과로는 과일이 하나씩 출력이 된다.

 

파이썬은 아이템의 인덱스와 값을 알고싶은 경우, enumerate 라는 기능을 제공한다.

 

fruit_list = ['apple', 'banana', 'orange']

for index, fruit in enumerate(fruit_list):
	print(f'{index} : {fruit}')

 


반복문을 병렬로 처리할 때 사용하기 좋은 것은 zip 함수이다.

zip은 제네레이터로 이터레이터 두 개 이상을 감싼다.

 

fruit_list = ['apple', 'banana', 'orange']
a = [len(n) for n in fruit_list]
max = 0
for fruit, count in zip(fruit_list, a):
  if count > max:
    longest = fruit
    max = count

print(max)
print(longest)

 

배열과 같이 명료하지 않은 문법을 사용해도 zip을 이용해서 반복문을 동작시킬 수 있다.

728x90
반응형

'Programming > Python' 카테고리의 다른 글

[Python] 파일 입출력  (0) 2022.12.22
[Python] List Comprehension  (0) 2022.11.23
[Python] PEP 8 스타일 가이드  (0) 2022.11.23