Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- import functools
- def do_re(s, rdict):
- r = re.compile("|".join(rdict.keys()))
- return r.sub(lambda m: rdict[m.group(0)], s)
- def do_str(s, rdict):
- return functools.reduce(lambda s, k: s.replace(k, rdict[k]), rdict, s)
- if __name__ == "__main__":
- import timeit
- import itertools
- words = tuple(map("".join, itertools.product("abcdefg", repeat=5)))
- s = str.join(" ", words)
- rdict = {word: "yoba" for word in words}
- print(len(s))
- print(timeit.timeit(lambda: do_re(s, rdict), number=10))
- print(timeit.timeit(lambda: do_str(s, rdict), number=10))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement