반응형
python3에서 for loop을 사용하는 경우 기존에 range를 활용한 사람들이 많다.
arr = ['a','b','c','d']
for i in range(0,len(arr)):
print(i, arr[i])
0 a
1 b
2 c
3 d
그러나 이런 방식을 파이썬 전문가들은 파이썬답지(Pytonic) 않다고 한다.
그렇다면 그들이 말하는 Pytonic한 방법은 무엇인가?
그게 이번에 설명할 enumerate를 활용한 방법이다.
arr = ['a','b','c','d']
for e in enumerate(arr):
print(e)
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
이렇게 index와 value를 tuple로 받아 처리 할 수 있다.
2차원 array에서 사용하는 것도 좋다.
matrix = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
for i, row in enumerate(matrix):
for j, value in enumerate(row):
print(i, j, value)
0 0 a
0 1 b
0 2 c
1 0 d
1 1 e
1 2 f
2 0 g
2 1 h
2 2 i
반응형
'Computer Science > Python' 카테고리의 다른 글
[conda-forge/miniforge] 미니포지 삭제 - 맥(MAC) OS (0) | 2022.07.18 |
---|---|
[Python] 예약어, 키워드 (keywords, reserved word) (0) | 2022.07.10 |
[Python] json.dumps 한글깨짐 해결 (0) | 2021.04.07 |
[Python] 파이썬 call by reference, call by value (0) | 2020.04.28 |
[Python] 파이썬 XML 데이터 읽기 (0) | 2019.07.18 |