On Mar 13, 7:36 pm, Paul Rubin <http://[EMAIL PROTECTED]> wrote: > "Arnaud Delobelle" <[EMAIL PROTECTED]> writes: > > in the for loop. Moreover you recalculate the regexp for each element > > of the list. > > The re library caches the compiled regexp, I think.
That would surprise me. How can re.search know that string.lower(search) is the same each time? Or else there is something that I misunderstand. Moreover: In [49]: from timeit import Timer In [50]: Timer('for i in range(1000): search("abcdefghijk")', 'import re; search=re.compile("ijk").search').timeit(100) Out[50]: 0.36964607238769531 In [51]: Timer('for i in range(1000): re.search("ijk", "abcdefghijk")', 'import re; search=re.compile("ijk").search').timeit(100) Out[51]: 1.4777300357818604 -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list