파이썬 enumerate() 함수 w/ for loop

2023. 9. 1. 22:41·IT, DATA SCIENCE/Python

일반적으로 i, j, k 를 index 로 사용하는 for 문을 사용해왔음

 

파이썬에서는 index 없이 enumerate 함수 사용해서 for 문 돌릴 수 있음

 

for 루프

# for <원소> in  <목록>
for letter in ['A', 'B', 'C']
	print(letter)

--> 여기서, 리스트의 원소 뿐만 아니라, 각 index에 접근하고 싶다면?

i = 0
for letter in ['A', 'B', 'C']
	print(i,letter)
    i += 1
    
or

letters = ['A', 'B', 'C']
for i in range(len(letters)):
	letter = letters[i]
    print(i, letter)

위의 코드들을 non-Pythonic 하다고 합니다. 

 

enumerate() 함수

# for <원소> in enumerate(<목록>):
for entry in enumerate(['A','B','C']):
	print(entry)

 

여기서, index와 원소를 각각 다른 변수에 할당하고 싶으면 인자 풀기, ie, Unpacking 필요

# for <원소> in enumerate(<목록>):
for i, letter in enumerate(['A','B','C']):
	print(entry)

index의 시작을 1부터 하고 싶다면?

for i, letter in enumerate(['A', 'B', 'C'], start=1):
	print(i, letter)

enumerate() 원리

# for문 작동 원리
iter_letters = iter(['A', 'B', 'C'])
print(next(iter_letters))
print(next(iter_letters))
print(next(iter_letters))

인자로 넘어온 목록을 기준으로, 인덱스와 원소에 차례로 접근하게 해주는 반복자 객체 반환(튜플)해주는 함수

 

[+] 2차원 리스트 루프

ex) 2차원 리스트나 튜플 속 데이터를 루프를 통해 접근해야 한다면?

 matrix = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
 
 for r in range(len(matrix)):
 	for c in range(len(matrix[r])):
    	print(r, c, matrix[r][c])
for r, row in enumerate(matrix):
	for c, letter in enumerate(row):
		print(r, c, letter)

'IT, DATA SCIENCE > Python' 카테고리의 다른 글

PGMS 코딩테스트 연습_분수의 덧셈  (0) 2023.10.21
프로그래머스_파이썬을 파이썬답게_파트1~파트4  (0) 2023.09.02
파이썬 _ zip() 함수  (0) 2023.09.02
'IT, DATA SCIENCE/Python' 카테고리의 다른 글
  • PGMS 코딩테스트 연습_분수의 덧셈
  • 프로그래머스_파이썬을 파이썬답게_파트1~파트4
  • 파이썬 _ zip() 함수
DB_L
DB_L
데이터 엔지니어가 되기 위한 길
  • DB_L
    DB_L
    DB_L
  • 전체
    오늘
    어제
    • 분류 전체보기 (19)
      • 1. 개발 & 프로그래밍 언어 (0)
        • Java (0)
        • Python (0)
        • OOP (0)
      • 2. 클라우드 & 인프라 (3)
        • AWS (0)
        • Azure (0)
        • Docker (0)
        • Terraform (0)
        • K8S (3)
      • IT, DATA SCIENCE (9)
        • 코테 연습 (5)
        • Python (4)
      • 3. 운영체제 및 시스템 (1)
        • Linux (0)
        • Java 환경 관리 (1)
      • 4. 미들웨어 & 서버 (0)
        • Was (0)
        • Web (0)
      • 5. 데이터 엔지니어링 (0)
      • [데브코스] 프로그래머스 데이터 엔지니어링 (0)
        • Python Web Crawling (0)
        • Django API (0)
        • Docker (0)
        • TIL (0)
      • 코테 연습 (0)
      • 운동 (6)
        • 식단 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    웹크롤링
    BeautifulSoup
    BeautifulSoup4
    bs4
    파이썬 #zip #파이썬함수 #파이썬zip
    탄수화물
    탄수
    분수의덧셈
    파이썬 #프로그래머스 #코테 #분수
    탄수화물싸이클
    파이썬 #python #백준 #코딩 #알고리즘준비
    다이어트
    운동
    살빼려면
    탄수화물사이클링
    파이썬 #자료구조 #배열 #선형배열 #리스트 #특정원소 #데브코스 #프로그래머스
    헬스
    탄수화물싸이클링
    탄수화물 싸이클링
    사이클링
    싸이클링
    탄수싸이클
    한주먹
    self-study
    Python
    파이썬 #프로그래머스 #코딩 #코테
    저탄수
    노마드
    웹스크레퍼
    운동하자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
DB_L
파이썬 enumerate() 함수 w/ for loop
상단으로

티스토리툴바