I'd agree with using itertools (or any stdlib library) as much as possible, really.
Some of those have fun C libraries backing them, so they're pretty great. Plus anything that's in stdlib is usually going to be pretty solid.