Quick compare string to list

Terry Reedy tjreedy at udel.edu
Wed Sep 30 21:03:31 CEST 2009


Scooter wrote:
> I'm reading in a text file, and for each line in the file, I'm looking
> for the existence of phrases from a list. The list contains approx.
> 120 items currently but will most likely grow. This procedure itself
> is not the main function of my program and only grew out of the need
> to reformat certain phrases I'm finding in a file before re-outputting
> it. But as I suspected, this searching of the lists slows the whole
> process way way down. Was looking for ideas of a better way to do
> this.
> 
> I basically have
> 
> mylist=[]
> ...
> code that reads in the flat file into string 'flatfileString'
> ...
> for listitem in mylist:
>     if flatfileString.count(listitem):
>         ...whatever...I found it.

I would try:

turn mylist into my_re and compile
for line in file:
   while search line for first occurence of any phase returns yes:
   process
   reduce line to remainder of line after phrase found
   # assuming no overlaps

tjr




More information about the Python-list mailing list