본문 바로가기
AI + 대학원/파이썬 공부

[기본] enumerate 사용하기

by 팡귄 2021. 1. 11.

주로 for문과 함께 쓰면 빛을 발하는 enumerate 에 대해 알아봅시다!

enumerate : " 알아서 차례대로 번호 매겨 돌려주는 함수 "

서를 가진 자료형(시퀀스 : 리스트, 튜플, 문자열)을 입력받아 인덱스 값이랑 짝지어 enumertate객체를 돌려주는 함수입니다.

 

for문을 이용해 리스트의 이름을 하나씩 불러오는 데 순서도 같이 불러와야 한다면?

이때, enumerate가 어떻게 쓰이는 지 간단히 비교하여 익혀봅시다.

 

비포 # enumerate 없이 변수 i를 만들어 여기에 순서를 누적하여 카운팅하기     


i=0
for name in ['RM', 'JIN', 'JUNGKOOK', 'SUGA', 'JIMIN', 'J-HOPE', 'V']:
    print (i, name)
    i += 1     # 출력 후 i를 1씩 누적하기


 

[더보기]에서 출력결과 확인해보면!

더보기

아래처럼, 0부터 차례대로 이름이 짝지어 나타납니다.

 

애프터 # 아래처럼, 리스트에서 for문으로 하나씩 받아 출력할때, 리스트를 enumerate에 넣어주면, 알아서 인덱스(: 현재 순서, 0부터 순서 시작)와 값을 짝지어 돌려줍니다.


for name in eunmerate(['RM', 'JIN', 'JUNGKOOK', 'SUGA', 'JIMIN', 'J-HOPE', 'V']):
    print (name)


[더보기]에서 출력결과 확인해보면!

더보기

이번에도 자동으로 0부터 짝지어 출력됩니다.

다만 조금 차이점이 있죠? 출력되는 결과는 튜플로 나오기 때문입니다!

자료형을 한번 출력해보면, 튜플로 나옵니다!

 

 

+ 그럼! 만약, 튜플이 아니라, 인덱스, 자료 각각 출력되게 하고 싶다면, 아래처럼 짝지어진 인덱스는 i, 이름자료는 name에 각각 할당되어 출력하도록 i, name 을 만들어줍니다.

tpye을 보면! i는 숫자형, name은 문자열임을 알수 있습니다!

 

 

+ for 문이 아닌 곳에서는 어떻게 쓰이나요?

이 리스트를 코드 한 줄로 각 순서를 key로 가지는 딕셔너리로 만들어봅시다.

 

각각의 인덱스를 불러와.. key값을 정해줘야할텐데요..

이때! enumerate로 리스트를 감싸면! 인덱스와 짝지어 지므로!

 

 

[더보기]에서 출력결과 확인해봅시다!

더보기

코드 한줄로 바로 리스트를 딕셔너리가 만들어집니다!

 

+물론, 인덱스가 짝지어진 튜플을 원소로 가진 리스트를 한방에 만들수도 있죠!

 

오늘은 enumerate라는 알찬 함수를 만나보았습니다.

처음에는 (개인적으로ㅎㅎ) 단어가 길고 낯설었으나!

두어번만 써보면 금방 익숙해지실겁니다! 그럼 오늘은 여기까지입니다.

 

반응형