I'd be surprised if my way is slower. Any time you unpack into a function such as zip() python has to create an intermediary list to store all the results before calling the function.
http://docs.python.org/2/library/itertools.html#itertools.iz...
The OP's question of is this genius or bad is clear in that regard: it is bad, due to not being the proper optimization direction, but it is interesting.
Maybe I'm doing crazy stuff, though!