2016-11-12 5 views
0

그래서 나는 다음과 같은 목록이 있습니다목록에서 단어 색인을 찾는 방법은 무엇입니까?

found = ['ITERATION 0', 'string', 'ITERATION 1', 'string', 'ITERATION 2', 'string'] 

내가 시도하고있다, 그리고 나는 내 인생은 각 ITERATION의 인덱스를 추출, StackOverflow의 또는 유튜브에서 어떤 해답을 찾을 수 없기 때문.

제 예에서 reslt는 [0, 2, 4]입니다.

found.index(r'ITERATION 0')을 사용하여 특정 항목을 찾을 수 있습니다. 하지만 이것은 24을 찾는데 도움이되지 않습니다.

+1

http://stackoverflow.com/questions/176918/finding-the-index-of-an-item-given-a-list-containing-it-in-python – snagpaul

+1

가끔은 스스로 대답을 찾아야합니다. 통조림이 된 것을 찾는 것보다. – martineau

답변

2

당신은 지능형리스트로 enumerate를 사용할 수 있습니다

>>> found = ['ITERATION 0', 'string', 'ITERATION 1', 'string', 'ITERATION 2', 'string'] 
>>> [i for i, s in enumerate(found) if s.startswith('ITERATION')] 
[0, 2, 4] 

을 위 enumerate 반환 (index, string) 튜플에서. 모든 튜플 목록에 대해 문자열이 'ITERATION'으로 시작하는지 검사하고 결과 색인을 포함하는지 확인합니다.

관련 문제