Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 인덱스를 활용해 시퀀스를 반복하는 방법

Python에서 시퀀스(sequence) 객체는 항목들이 순서대로 저장된 컬렉션을 의미합니다. 리스트(list), 튜플(tuple), 문자열(string)과 같은 시퀀스에 속한 각 항목은 0부터 시작하는 인덱스를 통해 접근할 수 있습니다.

인덱스로 시퀀스를 반복하는 기본 원리

시퀀스의 길이만큼 인덱스 범위를 생성한 뒤, 각 인덱스에 해당하는 요소에 차례로 접근하는 방식이 가장 일반적입니다. 이때 range() 함수와 len() 함수를 함께 사용합니다.

리스트의 요소를 인덱스로 순회하기

>>> L1 = [10, 20, 30, 40, 50]
>>> for i in range(len(L1)):
    print(L1[i])

10
20
30
40
50

len(L1)은 리스트의 길이인 5를 반환하고, range(5)는 0부터 4까지의 인덱스를 생성합니다. 따라서 L1[i]를 통해 리스트의 모든 요소를 순서대로 출력할 수 있습니다.

문자열을 한 글자씩 잘라내며 순회하기

같은 방식으로 문자열의 각 문자를 인덱스 단위로 하나씩 접근할 수도 있습니다.

>>> string = 'TutorialsPoint'
>>> for i in range(len(string)):
    print(string[i])

T
u
t
o
r
i
a
l
s
P
o
i
n
t

참고: enumerate()를 활용한 더 Pythonic한 방법

인덱스와 값을 동시에 다루어야 한다면 enumerate() 함수를 사용하면 코드가 더 간결하고 가독성이 좋아집니다.

>>> for i, value in enumerate(L1):
    print(i, value)

0 10
1 20
2 30
3 40
4 50

단순히 값만 필요하다면 for item in L1:처럼 시퀀스를 직접 순회하는 것이 가장 깔끔하지만, 인덱스 자체가 필요한 경우에는 위에서 소개한 range(len()) 패턴이나 enumerate()를 활용하는 것이 좋습니다.