Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import timeit
- import re
- not_characters = re.compile("[^\w]+") # _ and digits are considered to be characters
- undescore_and_digits = re.compile("[_\d]+")
- test_str = "qwe! rty - uio? pas!!! dfg 123123 __ @#$$#@::;;"
- def regexp_replaces(s):
- only_chars = not_characters.sub("", s)
- return undescore_and_digits.sub("", only_chars)
- def comprehension(s):
- return "".join([c.lower() for c in s if str.isalpha(c)])
- print(regexp_replaces(test_str) == comprehension(test_str))
- replace_timer = timeit.Timer("regexp_replaces(test_str)",
- "from __main__ import regexp_replaces, test_str")
- comprehension_timer = timeit.Timer("comprehension(test_str)",
- "from __main__ import comprehension, test_str")
- print("Replaces : %f" % replace_timer.timeit(number=1000000))
- print("Comprehensions : %f" % comprehension_timer.timeit(number=1000000))
Advertisement
Add Comment
Please, Sign In to add comment