enumerate는 해시 테이블을 만들어보는 과정에서 나왔던건데, 반복문 뺑뺑이 도는 역할을 한다. 근데 이제 for문 하면 빠질 수 없는 for i in 아무개 없이 할 수 있다.
import sys
text = sys.stdin.readline().rstrip()
for i in text:
print(i)
텍스트를 입력받아서 한글자씩 출력하는 코드. for문은 이렇게 쓴다. 이건 직접 글자에 접근해서 print(i)로 출력했지만 보통은 for i in range(len(text))로 주고 print문을 작성하게 된다. 그거 말고도 가끔 그럴때 있잖음. 인덱스랑 같이 뽑고 싶잖아요? 그러면 어떻게 하냐...
import sys
text = sys.stdin.readline().rstrip()
j = 0
for i in text:
print(j, i)
j += 1
뭐 이렇게 하든가 range를 len(text)로 하고 뽑든가 함.
import sys
text = sys.stdin.readline().rstrip()
for i in enumerate(text):
print(i)
enumerate는 이렇게 쓰면 된다. 그냥 이렇게만 하면 인덱스와 요소를 튜플로 반환한다. 위 예시에서는 글자를 입력받아서 출력하는거니까 인덱스-알파벳이 쌍으로 출력되는 것이다.
이렇게 튜플로 묶어서 출력되는데... 아 이거 안이뻐... 그러면
import sys
text = sys.stdin.readline().rstrip()
for i, j in enumerate(text):
print(i,j)
for문에 변수 두 개 주면 된다. 그러면 튜플이 깔끔하게 언패킹 돼서 출력된다.
import sys
text = sys.stdin.readline().rstrip()
for i, j in enumerate(text, start=1):
print(i,j)
start= 옵션으로 시작 번호를 지정할 수도 있다. 위 코드의 경우 언패킹과 시작 번호 지정이 둘 다 된 상태.
'Coding > Python' 카테고리의 다른 글
나눗셈 결과 몫 ... 나머지로 표시하기 (0) | 2023.10.22 |
---|---|
Python으로 연결 리스트 구현하기 (0) | 2023.09.05 |
zip이란 무엇인가 (0) | 2023.08.04 |
Python으로 해시 테이블 만들어보기 (0) | 2023.08.02 |
Python의 예외처리 (0) | 2023.06.24 |