[Python-ideas] More user-friendly version for string.translate()
Chris Barker
chris.barker at noaa.gov
Mon Oct 31 19:33:29 EDT 2016
More information about the Python-ideas mailing list
Mon Oct 31 19:33:29 EDT 2016
- Previous message (by thread): [Python-ideas] More user-friendly version for string.translate()
- Next message (by thread): [Python-ideas] More user-friendly version for string.translate()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Fri, Oct 28, 2016 at 7:28 AM, Terry Reedy <tjreedy at udel.edu> wrote: > >>> s = 'kjskljkxcvnalsfjaweirKJZknzsnlkjsvnskjszsdscccjasfdjf' > >>> s2 = ''.join(c for c in s if c in set('abc')) > pretty slick -- but any hope of it being as fast as a C implemented method? for example, with a 1000 char string: In [59]: % timeit string.translate(table) 100000 loops, best of 3: 3.62 µs per loop In [60]: % timeit ''.join(c for c in string if c in set(letters)) 1000 loops, best of 3: 1.14 ms per loop so the translate() method is about 300 times faster in this case. (and it used a defaultdict with a None factory, which is probably a bit slower than a pure C implementation might be. I've always figured that Python's rich string methods provided two things: 1) single method call to do common things 2) nice fast, pure C performance so I think a "keep these" method would help with both of these goals. -CHB -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chris.Barker at noaa.gov -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-ideas/attachments/20161031/5832bde3/attachment.html>
- Previous message (by thread): [Python-ideas] More user-friendly version for string.translate()
- Next message (by thread): [Python-ideas] More user-friendly version for string.translate()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list