Guest User

Untitled

a guest
Jun 3rd, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.91 KB | None | 0 0
  1. import timeit
  2. import re
  3.  
  4. not_characters = re.compile("[^\w]+") # _ and digits are considered to be characters
  5. undescore_and_digits = re.compile("[_\d]+")
  6.  
  7.  
  8. test_str = "qwe! rty - uio? pas!!! dfg 123123 __ @#$$#@::;;"
  9.  
  10. def regexp_replaces(s):
  11.     only_chars = not_characters.sub("", s)
  12.     return undescore_and_digits.sub("", only_chars)
  13.  
  14. def comprehension(s):
  15.     return "".join([c.lower() for c in s if str.isalpha(c)])
  16.  
  17. print(regexp_replaces(test_str) == comprehension(test_str))
  18.  
  19. replace_timer = timeit.Timer("regexp_replaces(test_str)",
  20.                              "from __main__ import regexp_replaces, test_str")
  21. comprehension_timer = timeit.Timer("comprehension(test_str)",
  22.                                    "from __main__ import comprehension, test_str")
  23.  
  24. print("Replaces       : %f" % replace_timer.timeit(number=1000000))
  25. print("Comprehensions : %f" % comprehension_timer.timeit(number=1000000))
Advertisement
Add Comment
Please, Sign In to add comment