 <p><a href="http://docs.python.org/library/functions.html#zip" rel="nofollow"><code>zip</code></a> will stop as soon as <em>any</em> of its iterables stop (because otherwise it wouldn't know what to fill in the blanks with!):</p> <blockquote> <p>The returned list is truncated in length to the length of the shortest argument sequence. </p> </blockquote> <p>If you want to pad the shorter iterables to the length of the longest, use <a href="http://docs.python.org/library/itertools.html#itertools.izip_longest" rel="nofollow"><code>izip_longest</code></a> (which takes an optional parameter to use as the fill value).</p>