Skip to content

Instantly share code, notes, and snippets.

@miku
Created June 1, 2010 21:38
Show Gist options
  • Save miku/421540 to your computer and use it in GitHub Desktop.
Save miku/421540 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
# http://stackoverflow.com/questions/2953421/split-based-by-a-z-character-in-an-alphanumeric-string-in-python/2953461#2953461
import re
s = "5d4h2s"
p = re.compile("([0-9])([a-z])")
def mm(s):
return zip(s[::2], s[1::2])
def myyn(s):
return [ m for m in p.findall(s) ]
if __name__ == '__main__':
from timeit import Timer
t_mm = Timer("mm(s)", "from __main__ import mm, s")
t_myyn = Timer("myyn(s)", "from __main__ import myyn, s, p")
print t_mm.timeit(number=100000)
print t_myyn.timeit(number=100000)
# 100000, python 2.6, OS X
# ........................
# mm 0.450574874878
# myy 0.3843729496
#!/usr/bin/env python
# http://stackoverflow.com/questions/2953421
# split-based-by-a-z-character-in-an-alphanumeric-string-in-python
import re
s = "5d4h2s"
p = re.compile("([0-9])([a-z])")
def mm(s):
return zip(s[::2], s[1::2])
def myyn(s):
return [ m for m in p.findall(s) ]
if __name__ == '__main__':
from timeit import Timer
t_mm = Timer("mm(s)", "from __main__ import mm, s")
t_myyn = Timer("myyn(s)", "from __main__ import myyn, s, p")
print t_mm.timeit(number=100000)
print t_myyn.timeit(number=100000)
# 100000, python 2.6, OS X
# ........................
# mm 0.450574874878
# myy 0.3843729496
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment