[Python-Dev] string find(substring) vs. substring in string

Irmen de Jong irmen at xs4all.nl
Wed Feb 16 22:08:36 CET 2005


Mike Brown wrote:
> Fredrik Lundh wrote:
> 
>>any special reason why "in" is faster if the substring is found, but
>>a lot slower if it's not in there?
> 
> 
> Just guessing here, but in general I would think that it would stop searching 
> as soon as it found it, whereas until then, it keeps looking, which takes more 
> time. But I would also hope that it would be smart enough to know that it 
> doesn't need to look past the 2nd character in 'not the xyz' when it is 
> searching for 'not there' (due to the lengths of the sequences).

There's the Boyer-Moore string search algorithm which is
allegedly much faster than a simplistic scanning approach,
and I also found this: http://portal.acm.org/citation.cfm?id=79184
So perhaps there's room for improvement :)

--Irmen


More information about the Python-Dev mailing list