Russ Cox <[EMAIL PROTECTED]> added the comment: > Lorenz's patch uses a set, not a list for special characters. Set > lookup is as fast as dict lookup, but a set takes less memory because it > does not have to store dummy values. More importantly, use of frozenset > instead of dict makes the code clearer. On the other hand, I would > simply use a string. For a dozen entries, hash lookup does not buy you > much. > > Another nit: why use "\\%c" % (c) instead of obvious "\\" + c? > > Finally, you can eliminate use of index and a temporary list altogether > by using a generator expression: > > ''.join(("\\" + c if c in _special else '\\000' if c == "\000" else c), > for c in pattern)
The title of this issue (#2650) is "re.escape should not escape underscore", not "re.escape is too slow and too easy to read". If you have an actual, measured performance problem with re.escape, please open a new issue with numbers to back it up. That's not what this one is about. Thanks. Russ __________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2650> __________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com