해결된 질문
작성
·
118
0
답변 1
1
index 는 그 문자가 있는 위치를 반환해주고, index + 1 은 그 문자가 있는 위치 이후부터 그 문자가 있는 위치를 찾아줍니다.
그래서 3번째 나오는 n 을 찾으시려면 똑같은 코드를 한 번 더 적어주면 됩니다.
python = "Python is beautiful and amazing"
index = python.index("n")
print(index)
index = python.index("n", index + 1) # and 의 n
print(index)
index = python.index("n", index + 1) # amazing 의 n
print(index)
위 방법이 아니라면 별도의 함수를 만들어서 사용할 수도 있답니다.
# 주어진 문자열(haystack)에서 찾으려는 문자(needle)가 몇 번째(n) 있는지 확인
def find_nth(haystack, needle, n):
start = haystack.find(needle)
while start >= 0 and n > 1:
start = haystack.find(needle, start+len(needle))
n -= 1
return start
python = "Python is beautiful and amazing"
# 1, 2, 3 번째 n 값을 표시하려면
print(find_nth(python, "n", 1)) # python 의 n
print(find_nth(python, "n", 2)) # and 의 n
print(find_nth(python, "n", 3)) # amazing 의 n