[파이썬] enumerate함수

폼폼(YUNA AN)·2024년 6월 29일

사소한 발견

목록 보기
4/33
post-thumbnail

👩‍🏫 기본문법

for 변수 in enumerate(리스트):
	print(변수)

👩‍🏫 예를 들어

for alphabet in enumerate(["A","B","C"]):
	print(alphabet)
    
결과
(0, 'A')
(1, 'B')
(2, 'C')
  • 튜플 형태로 인덱스를 형성하여 각 원소 앞에 붙여서 나온다

💡 Pythonic하다는 것은..

print(i, num)
i += 1

이런 방법을 이용할 수도 있지만, 파이썬 내장함수인 enumerate를 활용하여 쌈@뽕하게 코드를 짜는 걸 'Pythonic'스럽다고 부른다고 합니다...🙄

👩‍🏫 응용(CSV파일 읽기)

위에는 거의 이론적인 수준이고, 응용은 좀 더 복잡할 수밖에 없다.

with open ("경로") as file_read:
	titanic_read = csv.reader(file_read)
    for i, line in enumerate(titanic_read):
    	if i > 5:
        	break
    	print(line)
        
결과
['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp', 'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked']
['1', '0', '3', 'Braund, Mr. Owen Harris', 'male', '22', '1', '0', 'A/5 21171', '7.25', '', 'S']
['2', '1', '1', 'Cumings, Mrs. John Bradley (Florence Briggs Thayer)', 'female', '38', '1', '0', 'PC 17599', '71.2833', 'C85', 'C']
['3', '1', '3', 'Heikkinen, Miss. Laina', 'female', '26', '0', '0', 'STON/O2. 3101282', '7.925', '', 'S']
['4', '1', '1', 'Futrelle, Mrs. Jacques Heath (Lily May Peel)', 'female', '35', '1', '0', '113803', '53.1', 'C123', 'S']
['5', '0', '3', 'Allen, Mr. William Henry', 'male', '35', '0', '0', '373450', '8.05', '', 'S']
  • enumerate를 활용하여 i에 인덱스를 비구조할당할 수 있었다.
  • 덕분에 i > 5 일때 break 하는 기능을 활용할 수 있다.
  • line만 출력하였기 때문에, print한 결과에는 'i'값이 등장하지 않지만, 활용되고 있음을 알 수 있다.
  • 참고로 맨 앞에 1,2,3,4,5는 PassengerId값이며 i값이 아니다
profile
광고 도메인과 콘텐츠 기획의 전문성을 갖춘 데이터 분석가입니다.

0개의 댓글