7. range 보다는 enumerate를 사용하라

 

range 내장 함수는 어떤 정수 집합을 이터레이션하는 루프가 필요할 때 유용

from random import randint

random_bits = 0
for i in range(32):
	if randint(0, 1):
    	random_bits != 1 <<i

print(bin(random_bits))

 

문자열로 이루어진 list가 있다면 시퀀스에 대해 바로 루프 가능

flavor_list = ['바닐라', '초콜릿', '피칸', '딸기']
for flavor in flavor_list:
	print(f'{flavor} 좋아!')

 

만약 리스트 이터레이션하는 도중 리스트의 n 번 째 원소를 처리에 관해 알고 싶다면 range를 이용

for i in range(len(flavor_list)):
	flavor = flavor_list[i]
    print(f'{i + 1}: {flavor}')

 

list의 길이를 알아야하고 인덱스를 사용해 배열 원소에 접근해야하기 때문에 다소 투박

 

이를 대체하기 위한 enumerate 내장 함수를 제공

enumerate의 두 번째 파라미터로 어디부터 원소를 가져오기 시작할지 지정할 수 있음(default는 0)

for i, flavor in enumerate(flavor_list):
	print(f'{i+1}: {flavor}')

 

본 블로그는 [파이썬 코딩의 기술] 서적을 참고하여 작성하였습니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기