[파이썬] Python enumerate() 예제
파이썬에서는 enumerate 클래스를 사용하여 iterable 자료형에 대한 처리를 할 수 있습니다.
iterable 자료형의 값과 인덱스 번호를 함께 가져올 수 있습니다.
iterable은(는) 반복 가능한 객체를 의미합니다.
for in 문 형식에서 enumerate클래스를 사용하여 처리할 수도 있어요.
파이썬 enumerate 클래스
class enumerate(object): ........생략 def __init__(self, iterable, start=0): # known special case of enumerate.__init__ """ Initialize self. See help(type(self)) for accurate signature. """ pass
다음은 for문을 사용하여 list 결과를 출력하는 예제입니다.
enumerate클래스의 인덱스 시작값은 0입니다. (1 또는 -1이 아님으로 숙지해야합니다.)
인덱스 번호와 값을 tuple자료형태로 반환합니다.
list = ["오렌지", "귤", "바나나", "포도", "복숭아"] for item in enumerate(list): print(item) #실행결과 (0, '오렌지') (1, '귤') (2, '바나나') (3, '포도') (4, '복숭아')
다음 예제는 for문에 변수 2개를 사용하여 index와 value 값을 가져오는 방법입니다.
enumerate클래스는 인자값으로 start변수를 받고 있습니다. 인덱스의 시작값을 설정할 수 있습니다.
list = ["오렌지", "귤", "바나나", "포도", "복숭아"] for idx, val in enumerate(list): print("idx:", idx, " val:", val) print("--- 시작 인덱스 값 변경 ", '-'*20) for idx, val in enumerate(list, start=1): print("idx:", idx, " val:", val) #실행결과 idx: 0 val: 오렌지 idx: 1 val: 귤 idx: 2 val: 바나나 idx: 3 val: 포도 idx: 4 val: 복숭아 --- 시작 인덱스 값 변경 -------------------- idx: 1 val: 오렌지 idx: 2 val: 귤 idx: 3 val: 바나나 idx: 4 val: 포도 idx: 5 val: 복숭아
파이썬 튜플(tuple) 자료형의 경우에도 iterable이 가능한 자료형입니다.
그럼으로 enumerate를 사용하여 처리할 수 있습니다.
tuple_val = ("오렌지", "귤", "바나나", "포도", "복숭아") for idx, val in enumerate(tuple_val): print("idx:", idx, " val:", val) #실행결과 idx: 0 val: 오렌지 idx: 1 val: 귤 idx: 2 val: 바나나 idx: 3 val: 포도 idx: 4 val: 복숭아
파이썬에서 자료형의 타입중에 iterable한 타입의 종류는 다음과 같습니다.
- list
- dictionay
- set
- string
- tuple
- bytes