求助:一个字符串查找的问题
我们一般查查找字符串个数会使用count函数。如
>>>n='aaaaa'
>>>b='a'
>>>n.count(b)
5
>>>c='aa'
>>>n.count(c)
2
而问题来了,我想要的逐个字符串进行count,比如
n[0:2]=c
n[1:3]=c
n[2:4]=c
n[3:5]=c
所以我想得到的结果其实是4.
知道可以使用循环实现这个效果,但是如果我的n有几千或几个亿的长度的时候效率将非常慢。有没有什么好的方法实现,尽量减少循环次数,因为需要处理的文件很大?
>>>n='aaaaa'
>>>b='a'
>>>n.count(b)
5
>>>c='aa'
>>>n.count(c)
2
而问题来了,我想要的逐个字符串进行count,比如
n[0:2]=c
n[1:3]=c
n[2:4]=c
n[3:5]=c
所以我想得到的结果其实是4.
知道可以使用循环实现这个效果,但是如果我的n有几千或几个亿的长度的时候效率将非常慢。有没有什么好的方法实现,尽量减少循环次数,因为需要处理的文件很大?
作者: wudiliusha 发布时间: 2010-11-13
c是重复字符才有这种需求吧,那么变成找单个连续字符长度就知道该等同多少个c...
作者: angel_su 发布时间: 2010-11-13
循环,用startswith判断。慢的话用C写扩展。还嫌慢的话把数据贴出来看看,到底是多大的字符串(包括c的长度),多慢,期待达到多快,n和c都有什么特征。
作者: iambic 发布时间: 2010-11-13