我试图搜索文件1中每个文件包含一行的印地语单词,并在文件2中的行中找到它们。我得把找到的字数打印出来。 代码如下:
import codecs
hypernyms = codecs.open("hindi_hypernym.txt", "r", "utf-8").readlines()
words = codecs.open("hypernyms_en2hi.txt", "r", "utf-8").readlines()
count_arr = []
for counter, line in enumerate(hypernyms):
count_arr.append(0)
for word in words:
if line.find(word) >=0:
count_arr[counter] +=1
for iterator, count in enumerate(count_arr):
if count>0:
print iterator, ' ', count
这是在寻找一些词,但忽略了其他一些词 输入文件包括: 文件-1:
^{pr2}$文件2:
वनस्पति, पेड़-पौधा
वस्तु-भाग, वस्तु-अंग, वस्तु_भाग, वस्तु_अंग
पादप_समूह, पेड़-पौधे, वनस्पति_समूह
पेड़-पौधा
这将产生输出:
0 1
3 1
显然,它忽略了वनस्पततति,只搜索宪धा。我也尝试过其他输入。它只搜索一个单词。你知道怎么纠正吗?在
因为你没有删除行尾的“\n”字符。 所以您不会搜索“some\u pattern”,而不是“some\u pattern”。 使用strip()函数将它们切掉,如下所示:
我认为问题出在这里:
^{pr2}$.readlines()
将在末尾保留换行符,因此您不是在搜索पौधा,而是在पौधा\n
中搜索,并且只在行尾匹配。如果我改为使用.read().split()
,我得到输入此代码,您将看到为什么会发生这种情况,因为空格: 在文件1中,第一个单词是पौध[space]。。。。在
在count_arr=[]之后,在计数器之前,行。。。在
相关问题 更多 >
编程相关推荐