2017-11-19 1 views
0

이 코드에는 몇 가지 문제가 있습니다. 나는이 개 단어를 가지고 그 파일을 가지고 있고, 그 파일특정 배열 요소 인쇄

file.txt를에서 단어를 포함하는 배열 요소 인쇄 할 :

apple 
apples 

파이썬 코드 :

f = open('file.txt','r') 
a = ["ashdfas" ,"i like apples", "yes", "no", "apple"] 

for line in f.readlines(): 
    for i in range(len(a)): 
     if line.strip() in str(a[i]): 
      print(a[i]) 

출력을 :

i like apples 
apple 
apple 

예상 출력 :

i like apples 
apple 

내 출력에 '사과'가 2 번 포함되어있는 이유는 알 수 없습니다. 어떤 아이디어?

+0

그건 목록이 아니라 배열입니다. –

답변

0

중복 된 텍스트는 '나는 사과가 좋아요'라는 단어 (apple 사과 s)에 'apple'이라는 단어가 표시되는 코드 때문에 발생합니다. 해결책으로는 각 항목을 단어로 분리 한 다음 배열과 파일이 동일한 지 확인하는 것이 좋습니다.

+0

대단히 고마워, 지금 무슨 일이 있었는지 알 겠어! –