gpt4 book ai didi

Python unicode 搜索没有给出正确答案

转载 作者:太空宇宙 更新时间:2023-11-03 19:20:03 24 4
gpt4 key购买 nike

我正在尝试搜索 file-1 中每个文件包含一行的印地文单词,并在 file-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:

पौधा  
वनस्पति

文件2:

वनस्पति, पेड़-पौधा  
वस्तु-भाग, वस्तु-अंग, वस्तु_भाग, वस्तु_अंग
पादप_समूह, पेड़-पौधे, वनस्पति_समूह
पेड़-पौधा

这给出了输出:

0 1  
3 1

显然,它忽略了 वनस्पति 并仅搜索 पौधा。我也尝试过其他输入。它只搜索一个单词。知道如何纠正这个问题吗?

最佳答案

我认为问题出在这里:

words = codecs.open("hypernyms_en2hi.txt", "r", "utf-8").readlines()

.readlines() 将在末尾留下换行符,因此您不是在搜索 पौधा,而是在搜索 पौधा\n,并且您只会在行尾匹配。如果我使用 .read().split() 代替,我会得到

0   2
2 1
3 1

关于Python unicode 搜索没有给出正确答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10053756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com