순서가 있는 자료형을 입력으로 받아 인덱스값을 포함하는 값으로 반환
기본적으로 튜플로 반환한다.
li = ["a","b","c","d","e"]
for i in enumerate(li):
print(i)
#(0, 'a')
#(1, 'b')
#(2, 'c')
#(3, 'd')
#(4, 'e')
li = ["a","b","c","d","e"]
for i in range(len(li)):
print(i,li[i])
# 0 a
# 1 b
# 2 c
# 3 d
# 4 e
이와 같은 코드를
↓
li = ["a","b","c","d","e"]
for x,y in enumerate(li, start=1):
print(x,y)
# 0 a
# 1 b
# 2 c
# 3 d
# 4 e
enumerate를 이용하여 이렇게 바꿔 쓸 수 있다.
시작 인덱스를 바꾸고 싶다면 start를 이용하면 된다.
li = ["a","b","c","d","e"]
for x,y in enumerate(li, start=1):
print(x,y)
# 1 a
# 2 b
# 3 c
# 4 d
# 5 e
딕셔너리 활용
li = ["a","b","c","d","e"]
dic = {}
for x,y in enumerate(li):
dic[y] = x
print(dic)
#{'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4}
2차원 배열 활용
matrix = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
for r, row in enumerate(matrix):
print(r, row)
# 0 ['A', 'B', 'C']
# 1 ['D', 'E', 'F']
# 2 ['G', 'H', 'I']
2차원 배열을 for문을 한 번 돌릴 때 결과
matrix = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
for r, row in enumerate(matrix):
for c, letter in enumerate(row):
print(r, c, letter)
# 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
for문 두 번 이용
(첫 번째 for문의 row를 다시 두 번째 for문에서 enumerate안에 담아 줌.)
참고
| [파이썬/python] itertools accumulate (누적합 라이브러리) (0) | 2023.04.06 |
|---|---|
| [파이썬/python] 유클리드 호제법으로 최대공약수&최소공배수 구하기 (+관련 라이브러리) (0) | 2023.03.27 |
| [파이썬/python] 진수 변환(2진수/8진수/16진수) (0) | 2023.03.26 |
| [파이썬/python] 정규표현식(regex) 공부 (0) | 2023.03.09 |
| [파이썬/python] 첫 글자를 대문자로 바꾸기 (title(), capitalize())) (0) | 2022.12.17 |