why drop the `xrange`? In python2, `xrange` is always faster. There's hardly a reason not to use it, which is why it's been renamed to `range` in python3.