문자열 목록이 있는데, 문자열 목록에서 찾고있는 부분 문자열의 첫 글자의 위치를 찾으려고합니다. . find() 메서드를 사용하여이 작업을 수행하지만 첫 번째 문자의 위치를 인쇄하려고하면 파이썬은 올바른 위치를 반환하지만 그 후에 부분 문자열을 찾을 수없는 것처럼 -1을 throw합니다. 그것을 찾은 후에. 올바른 값 다음에 -1을 반환하지 않고 하위 문자열의 첫 번째 문자의 위치를 반환하는 방법을 알고 싶습니다.문자열 목록에서 서브 문자열의 첫 글자의 위치 찾기 (파이썬 3)
mylist = ["blasdactiverehu", "sdfsfgiuyremdn"]
word = "active"
if any(word in x for x in mylist) == True:
for x in mylist:
position = x.find(word)
print(position)
출력은 다음과 같습니다 :
5
내가이 관련이있을 수 있습니다 생각 :
5
-1
내가 출력 그냥 될 것으로 예상 여기
내 코드입니다 사실 루프는 목록의 모든 문자열에 대한 하위 문자열을 검색하고 위치를 찾은 후에도 여전히 더 많은 것을 검색하지만 물론 하위 문자열 "활성"이 하나만 있기 때문에 오류가 발생하지만 하나의 하위 문자열을 찾은 후 검색을 중지하는 방법을 모르겠습니다. 도움이된다면 고맙습니다.
을 할 수 있도록 그런데
는, 필요하면 같은 내 대답을 표시 할 수 있으면 알려 주시기 바랍니다, 진정한 == 확인 없습니다 또는 더 많은 도움이 필요하면 동일한 문제를 가진 다른 사람들이 그것에 의지 할 수 있습니다. –