반응형
0, a
1, b
2, c
for문을 쓰다보면 귀찮은 상황이 발생한다. 이를테면 리스트의 모든 원소를 다루면서도 그 인덱스 번호까지 알아야 할 때이다. 그동안 이런 상황에서는 아래와 같이 대처해왔다.
myList = [...]
for i in range(len(myList)):
print(i, myList[i])
위처럼 인덱스와 원소 내용 둘 다 다룰 때에는 range와 len을 통해 인덱스로 접근하고 그 인덱스에 해당하는 것을 가져오면 된다. 하지만 인덱스가 필요없이 원소에만 접근할 때는 훨씬 간단했던 것을 생각하면 이것마저 번거롭게 느껴진다.
파이썬에서는 놀랍게도 아래와 같은 인덱스와 원소를 둘 다 관리해주는 기능이 있다.
myList = ['a', 'b', 'c']
for i in enumerate(myList):
print(i)
(0, a)
(1, b)
(2, c)
출력 결과는 위와 같을 것이다.(왼쪽의 숫자는 라인번호가 아니다! 인덱스까지 출력된 것이다.) 반복문을 돌며 인덱스와 원소의 튜플이 나오는 것을 알 수 있다. 하지만 이것을 꺼내쓰는 것마저 번거롭다면 다음과 같이 쓸 수도 있다.
myList = ['a', 'b', 'c']
for i, v in enumerate(myList):
print(i, v)
파이썬은 정말 무서운 언어이다...
반응형
'개발 > Python' 카테고리의 다른 글
파일 목록 가져오기 (0) | 2021.05.24 |
---|---|
파이썬 클립보드 이용하기(pyperclip) (0) | 2021.05.22 |
파이썬에서 공백 제거하기 (0) | 2021.02.23 |
파이썬에서 random 모듈 이용해보기 (0) | 2021.01.15 |
파이썬에서 특수문자(\) 쓰는 법 (0) | 2020.10.04 |