inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

index 질문입니다

해결된 질문

164

dentistjames

작성한 질문수 2

0

python = "Python is beautiful and amazing"
index = python.index("n")
print(index)
index = python.index("n", index + 1)
print(index)
이렇게 쓰면 첫번째 print는 첫번째 n이 어디 있는지 출력하고 그다음 식은
그다음 n이 어디에 있는지 나온다고 하셨잖아요. 그러면 첫번째 식은
python의 n을 출력하는거고 두번째 식은 and의 n을 출력하는 건데 그 다음에
amazing의 n은 몇 번째인지 어떻게 출력하나요?
제가
index = python.index("n", index + 2)
print(index)
이렇게 + 1을 + 2로 바꿔보았는데 그냥 똑같이 and의 n을 인식해서
출력하더라고요.. 그다음, 그러니까 세번째 n을 출력하려면 어떻게 해야 하나요?

python

답변 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

quiz 8 오류 문제

0

69

1

str() 작성 위치

0

51

1

아나콘다

0

60

1

윈도우 설치 도와주세요

0

74

1

std_weight함수에서weight만return가능한가요?

0

68

1

오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.

0

34

1

설치해서 시작하는데 문제가 있습니다.

0

69

1

함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?

0

104

1

2장 환경설정 문의

0

73

1

스타크래프트 프로젝트

0

74

1

python 파일명.py 입력시 Python 출력

0

133

1

로드맵 질문있습니다!

0

85

2

오류

0

74

1

질문 있습니다.

0

74

1

블로그에 학습한 내용을 정리해도 괜찮을까요?

0

172

1

#퀴즈 3의 5번 질문

0

72

1

print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다

0

81

1

가변인자의 위치가 중요한가요?

0

79

1

vscode옛날 버전 설치

0

221

1

글자색상이 선생님처럼 안나옵니다

0

186

1

슬프네

0

156

1

quiz 6번 관련 문의입니다.

0

129

1

퀴즈#3에 대해서 이렇게 작성해도 되나요?

0

194

1

피드백 부탁드립니다

0

93

1