擅长:python、mysql、java
<p><code>itertools.groupby</code>返回一个迭代器,因此for循环:<code>for k, v in g:</code>实际上使用了该迭代器。在</p>
<pre><code>>>> it = iter([1,2,3])
>>> for x in it:pass
>>> list(it) #iterator already consumed by the for-loop
[]
</code></pre>
<p><strong>代码:</strong></p>
^{pr2}$
<p>要获取扁平化列表,请使用<code>itertools.chain</code>:</p>
<pre><code>>>> from itertools import chain
>>> list( chain.from_iterable(new_lis))
[('c', 1), ('b', 2), ('e', 2), ('a', 3), ('d', 3), ('f', 3)]
</code></pre>