Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的搜索和分割_Python_List_File_Linguistics - Fatal编程技术网

python中的搜索和分割

python中的搜索和分割,python,list,file,linguistics,Python,List,File,Linguistics,我的名单是: search=[1രാമന്‍,2സീതയെ,7പൂവ്‌,16കോട്ടയത്ത്‌,22പരീക്ഷ,28രാമന്‍,29ലക്ഷ്മനനെ,33രാമനോടു,36ലക്ഷ്മണന്‍,37സീതയെ,45വഴ] 我的输入文件包含: 1രാമന്‍ N_NNP_S_M_SG 1 2സീതയെ N_NNP_O_F_SG 1 4. RD_PUNC 0 1രാമന്‍,5അവന്‍ PR_PRP_S_M_SG 1 2സീതയെ,6അവള്‍ക്ക് PR_P

我的名单是:

search=[1രാമന്‍,2സീതയെ,7പൂവ്‌,16കോട്ടയത്ത്‌,22പരീക്ഷ,28രാമന്‍,29ലക്ഷ്മനനെ,33രാമനോടു,36ലക്ഷ്മണന്‍,37സീതയെ,45വഴ]
我的输入文件包含:

1രാമന്‍ N_NNP_S_M_SG 1    
2സീതയെ N_NNP_O_F_SG 1  
4. RD_PUNC 0  
1രാമന്‍,5അവന്‍ PR_PRP_S_M_SG 1  
2സീതയെ,6അവള്‍ക്ക് PR_PRP_O_F_SG 1  
7പൂവ്‌ N_NN_O_NU_SG 1  
9. RD_PUNC 0  
2സീതയെ,6അവള്‍ക്ക്,10അവള്‍ PR_PRP_S_F_SG 2  
7പൂവ്‌,11അത്‌ DM_DMD 1  
13. RD_PUNC 0  
2സീതയെ,1രാമന്‍,14അവര്‍ PR_PRP_S_PL 3  
16കോട്ടയത്ത്‌ N_NST_O_SG 2  
18. RD_PUNC 0  
16കോട്ടയത്ത്‌,19അവിടെ N_NST_NU 5  
2സീതയെ,1രാമന്‍,21അവര്‍ക്ക്‌ PR_PRP_S_PL 6  
22പരീക്ഷ N_NN_O_NU 4  
25. RD_PUNC 0  
16കോട്ടയത്ത്‌,19അവിടെ,26അവിടെ N_NST_NU 11  
28രാമന്‍ N_NNP_S_M_SG 11  
29ലക്ഷ്മനനെ N_NNP_O_M_SG 9  
31. RD_PUNC 0  
28രാമന്‍,32അവന്‍ PR_PRP_S_M_SG 33  
33രാമനോടു N_NN_O_M 18  
35. RD_PUNC 0  
36ലക്ഷ്മണന്‍ N_NNP_S_M_SG 45  
37സീതയെ N_NNP_O_F_SG 37  
39. RD_PUNC 0  
36ലക്ഷ്മണന്‍,40അവനെ PR_PRP_S_M_SG 135  
37സീതയെ,41അവള്‍ക്ക്‌ PR_PRP_O_F_SG 112  
43. RD_PUNC 0  
45വഴ,44ഈ DM 100  
45വഴ N_NN_O_NU 150  
37സീതയെ,36ലക്ഷ്മണന്‍,47അവര്‍ PR_PRP_S_PL 262  
50. RD_PUNC 0  
我需要列表中每个项目的初始位置和最终位置,并通过这样做来分割输入文件

我的预期产出是:

1രാമന്‍ 1 to 25  
28രാമന്‍ 26 to 35  
36ലക്ഷ്മണന്‍ 36 to 50  
我不想搜索2സീതയെ,7.പൂവ്‌,16കോട്ടയത്ത്‌,22പരീക്ഷ. 因为整数小于25。然后搜索28രാമന്‍ 等等

我的代码是

import unicodedata  
import codecs      
import string    
import re      


fr = codecs.open('outputfile5.txt', encoding='utf-8')  
lines = fr.readlines()
t=0

for item in search:

    for i in range(0+t,len(lines)):
         if item in lines[i]:
             line1=lines[i]
         if line1:
             x=line1.split(",")
         lineno=[]
         for y in x:
                s = re.match('([0-9]+)', y).group(1)
                print int(s), y[len(s):]
                lineno.append(int(s))
        lineno.sort()
        initial=lineno[0]
        t=i
        for k in range(t,len(lines)):
            punc=lines[k].split()
            q=punc[0]

        b = re.match('([0-9]+)', q).group(1)
        print int(b), i[len(b):]
        if (i[len(b):] =="."):      
            final=int(b)
            break       
    print "Start",initial   
    print "Final",final



fr.close()
发生错误并停止。错误是

s = re.match('([0-9]+)', y).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

很可能是重新匹配“[0-9]+”,y没有产生任何结果,因此没有要获取的group1。您似乎需要重新搜索匹配y的一部分,而不是为了您的目的重新匹配精确的y。 在任何情况下,您都可以在访问组之前测试匹配结果

temp = re.match('([0-9]+)', y)
if temp:
    s=temp.group(1)

…实际输出是什么?编辑了帖子。。请看一看。。由于上面显示的错误,我被绊倒了。首先,您需要修复缩进,例如lineno.appendints-这一行应该缩进到哪里?其次,您确定您的代码达到了您所说的抛出异常的行吗?因为我看不出你在哪里声明“搜索”第5行。还包括本例中使用的任何导入,如编解码器、re等。@HerrActress search在第一个代码块中声明。y是什么?你能把它贴出来吗?一开始可能没有数字。