我正在尝试编写一个程序,该程序检查行/句子中泰米尔字符的出现。我写了一个代码,它检查字符是否存在于行中,如果是,退出不检查第二次或第三次出现。代码如下:(我已经把单词分成了字符,所以我用"word"来检查)。
count=0
word="ஆ"
f=open('input','r')
for line in f.readlines():
if word in line:
count=count+1
print count
f.close()
输入文件"input"有:
ஆ ன் டை ன்
ஆ ன் டை னி ன்
ஆ ன் டொ வி ன்
ஆ ன் ட் டா ல ஜி
எ ன் றி ஆ ன்
ஆ ன் ட் ட ன் ஆ
当前输出为:
count:6
但是输出应该是:
count:7
在最后一行中,它检查单词ஆ
是否出现在开头,然后退出。我想让它检查整行并计算所有出现的次数。我应该如何修改它?
目前您只检查字符是否在一行中,而不计算出现次数。有count
方法做你想做的:https://docs.python.org/2/library/stdtypes.html#str.count
>> 'hello world'.count('l')
3
另外,正如Wooble已经在他的评论中指出的那样,在python2中使用非ascii字符时必须特别小心(他为您提供了所需的信息)。
尝试open-tamil
库,您可以从pip
安装:
$ pip install open-tamil
用法如下:
import tamil
letters_list = tamil.utf8.get_tamil_letters( string_input )