프로그래머스에서 문제를 풀다가 좋은 예시코드 for roof를 돌 때 range 대신 enumerate를 사용하는 것을 보았다. 왜지...? 라는 생각을 했는데 이런 좋은 게시글이 있어서 공유해본다.
게시글 : [ Python Skill ] range 대신 enumerate를 써야하는 이유 / 출처 : 개발이야기
그렇다...! Python은 Pythonic한 코드를 쓸 때 비로소 Python의 매력이 돋보이는 것 이다...!
enumerate를 사용하면 range를 사용할 때 len함수를 이용해서 인덱스를 돌리는 번거로운 일이 없어지고 직접 인덱스로 접근해서 원소를 찾아내는 일도 없어지는 것이다...!
// 입력
coins = ['a','b','c']
for idx, coin in enumerate(coins):
print("coin" + str(idx) +" name is " + coin)
// 출력
coin0 name is a
coin1 name is b
coin2 name is c
// 입력
coins = ['a','b','c']
for idx in range(len(coins)):
print("coin" + str(idx) +" name is " + coins[idx])
// 출력
coin0 name is a
coin1 name is b
coin2 name is c
보다싶이 출력은 동일하나 코드가 더 Pythonic하게 바뀌는 것을 볼 수 있다.