擅长:python、mysql、java
<p>不同的输出,我仍然认为<a href="http://docs.python.org/library/itertools.html" rel="nofollow noreferrer">grouper function</a>是有用的:</p>
<pre><code>from itertools import izip_longest
def grouper(iterable, n, fillvalue=None):
args = [iter(iterable)] * n
return izip_longest(*args, fillvalue=fillvalue)
</code></pre>
<p>对于没有izip_最长的Python2.4和2.5:</p>
<pre><code>from itertools import izip, chain, repeat
def grouper(iterable, n, padvalue=None):
return izip(*[chain(iterable, repeat(padvalue, n-1))]*n)
</code></pre>
<p>一些演示代码和输出:</p>
<pre><code>alist = range(10)
print list(grouper(alist, 3))
</code></pre>
<p>输出:
[(0,1,2),(3,4,5),(6,7,8),(9,无,无)]</p>