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}')
본 블로그는 [파이썬 코딩의 기술] 서적을 참고하여 작성하였습니다.
반응형
'SW ENGINEERING > Python' 카테고리의 다른 글
파이썬 코딩의 기술TIP 9일차 (0) | 2021.06.14 |
---|---|
파이썬 코딩의 기술TIP 8일차 (0) | 2021.06.13 |
파이썬 코딩의 기술TIP 6일차 (0) | 2021.06.08 |
파이썬 코딩의 기술TIP 5일차 (0) | 2021.06.07 |
파이썬 코딩의 기술TIP 4일차 (0) | 2021.06.06 |
최근댓글