가정하자 나는 단어 "인터넷"에 문자 'E'의 각 인덱스를 찾을 수있다 :찾기 지수는
letter = 'e'
word = 'internet'
idx = word.index(letter)
하지만이 코드는 첫 번째 인덱스를 제공합니다. 나머지는 어떻게 찾을 수 있습니까? list comprehension에 enumerate를 사용
가정하자 나는 단어 "인터넷"에 문자 'E'의 각 인덱스를 찾을 수있다 :찾기 지수는
letter = 'e'
word = 'internet'
idx = word.index(letter)
하지만이 코드는 첫 번째 인덱스를 제공합니다. 나머지는 어떻게 찾을 수 있습니까? list comprehension에 enumerate를 사용
Mark's answer는 하나의 문자에 좋습니다. 실제 하위 문자열이 단일 문자보다 긴 경우에 대비하여 추가하고 있습니다.
는 str.index()
을 사용하려면 원하는 문자열이 발견되지 않는 경우,이 옵션 start
위치를 취할 수 있으며 ValueError
을 raise
됩니다
>>> letter = 'e'
>>> word = 'internet'
>>> last_index = -1
>>> while True:
... try:
... last_index = word.index(letter, last_index + 1)
... print last_index
... except ValueError:
... break
...
3
6
시도 :
[index for (index, letter) in enumerate(word) if letter == 'e']
이 시도 :
word = 'internet'
letter = 'e'
[i for i in xrange(len(word)) if word[i] == letter]
는'string' 아니다 'list'. – Johnsyweb
호기심이 묻습니다. 왜 색인을 원하니? –
네, 저의 실수입니다. 물론 문자열입니다 ... 행맨 게임을 코딩하고 있습니다. – markiisi