HOWTO · Python

Python에서 문자열에서 문자 찾기

이 튜토리얼은 문자열에서 문자의 위치를 찾는 방법을 보여줍니다.

이 페이지의 내용

문자열은 문자 모음입니다. 문자열의 각 문자에는 액세스하는 데 사용할 수있는 특정 위치가 있습니다. 이 튜토리얼에서는 문자열에서 문자의 위치를 ​​찾는 방법에 대해 설명합니다.

find()함수를 사용하여 문자열에서 문자의 위치 찾기

find()함수는 하위 문자열의 위치를 ​​반환합니다. 검색하려는 시작 및 끝 위치를 지정할 수도 있습니다 (기본적으로 시작은 0이고 끝은 문자열의 길이입니다).

다음 코드에서는이 함수를 사용하여 문자열에서 문자의 위치를 ​​찾습니다.

s = "python is fun"
c = "n"
print(s.find(c))

출력:

5

문자열에서 발견 된 문자의 첫 번째 위치를 반환합니다. 이 함수에 대해 기억해야 할 또 다른 점은 주어진 하위 문자열이 문자열에 없을 때 -1을 반환한다는 것입니다.

rfind()함수를 사용하여 문자열에서 문자의 위치 찾기

이 함수는find()함수와 유사하지만 유일한 차이점은 하위 문자열의 마지막 위치를 반환한다는 것입니다.

예를 들면

s = "python is fun"
c = "n"
print(s.rfind(c))

출력:

12

index()함수를 사용하여 문자열에서 문자의 위치 찾기

index()함수는find()함수와 유사하게 사용되어 문자열에서 문자의 위치를 ​​반환합니다. find()함수와 마찬가지로 문자열에서 첫 번째 문자도 반환합니다.

예를 들면

s = "python is fun"
c = "n"
print(s.index(c))

출력:

5

index()find()함수의 차이점은 문자열에서 필수 문자가 누락 된 경우index()함수가ValueError를 반환한다는 것입니다.

for루프를 사용하여 문자열에서 문자의 위치 찾기

이 방법에서는 문자열에있는 모든 문자를 확인할 수 있습니다. 문자열을 반복하고 각 문자를 개별적으로 비교합니다. 일치하는 모든 위치가 표시되고 다른 변수에 저장됩니다.

다음 코드는이 논리를 구현합니다.

s = "python is fun"
c = "n"
lst = []
for pos, char in enumerate(s):
    if char == c:
        lst.append(pos)
print(lst)

출력:

[5, 12]

enumerate()함수를 사용하면 반복이 더 쉬워지고 문자열의 모든 문자에 카운터 변수가 할당되기 때문입니다.

더 빠르고 깔끔한 목록 이해 방법을 사용하여이 방법을 구현할 수도 있습니다.

예를 들면

s = "python is fun"
c = "n"
print([pos for pos, char in enumerate(s) if char == c])

출력:

[5, 12]