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

Python에서 문자열의 각 문자를 반복하는 5가지 방법

이 글에서는 Python 3.x(및 그 이하 버전)에서 문자열의 개별 문자를 순회(iterate/traverse)하는 다양한 방법을 알아봅니다.

문자열은 공백, 알파벳, 숫자 등을 포함할 수 있는 문자들의 집합입니다. 문자열의 각 문자는 인덱스를 통해 접근하거나 참조를 통해 사용할 수 있으며, 실무에서 가장 널리 쓰이는 방법들을 아래에서 하나씩 살펴보겠습니다.

방법 1 – 인덱스 없이 직접 순회하기

예제

string_inp = "tutorialspoint"

# 문자열을 순회합니다
for value in string_inp:
    print(value, end='')

Python에서 문자열은 반복 가능(iterable)한 객체이므로, 별도의 인덱스 처리 없이 for 문에 문자열을 직접 넣으면 각 문자를 순서대로 얻을 수 있습니다. 가장 간결하고 파이썬다운 방식입니다.

방법 2 – 인덱스 기반 접근 (가장 일반적인 방법)

예제

string_inp = "tutorialspoint"

# 문자열을 순회합니다
for value in range(0, len(string_inp)):
    print(string_inp[value], end='')

range()와 len() 함수를 조합하여 인덱스를 생성하고, 해당 인덱스로 문자에 접근하는 전통적인 방식입니다. C나 Java처럼 인덱스 기반 반복에 익숙한 개발자들이 선호하는 패턴입니다.

방법 3 – enumerate() 함수 활용

예제

string_inp = "tutorialspoint"

# 문자열을 순회합니다
for value, char in enumerate(string_inp):
    print(char, end='')

enumerate()는 순회 과정에서 인덱스와 값을 동시에 반환합니다. 문자 자체뿐 아니라 현재 위치(인덱스) 정보도 함께 필요할 때 특히 유용하게 사용됩니다.

방법 4 – 음수 인덱스를 이용한 접근

예제

string_inp = "tutorialspoint"

# 문자열을 순회합니다
for value in range(-len(string_inp), 0):
    print(string_inp[value], end='')

Python은 음수 인덱스를 지원하며, -1은 마지막 문자를 의미합니다. 위 예제처럼 -len(string_inp)부터 0까지의 범위를 지정하면 문자열 전체를 역방향 인덱스로 순회할 수 있습니다.

방법 5 – 슬라이싱(slicing) 활용

예제

string_inp = "tutorialspoint"

# 문자열을 순회합니다
for value in range(0, len(string_inp)):
    print(string_inp[value-1:value], end='')
print(string_inp[-1:])

슬라이싱 기법을 이용해 한 번에 한 문자씩 잘라내며 출력하는 방식입니다. 슬라이싱에 익숙해지면 부분 문자열 추출 등 다양한 문자열 처리 작업에서 활용도가 매우 높습니다.

위에서 소개한 5가지 방법 모두 동일한 결과를 출력합니다.

출력 결과

tutorialspoint

마무리

이번 글에서는 Python에서 문자열의 각 문자를 순회하는 5가지 방법을 살펴보았습니다. 단순히 문자 값만 필요하다면 방법 1처럼 직접 순회하는 것이 가장 깔끔하고, 인덱스 정보가 함께 필요하다면 enumerate()를 사용하는 것이 효율적입니다. 상황과 목적에 맞는 방식을 선택해 활용해 보시기 바랍니다.