擅长:python、mysql、java
<p>您可以使用<code>itertools.groupby</code>编写此函数,但命令式生成器函数可能更具可读性:</p>
<pre><code>def join_dates(l):
date = None
for t in l:
if len(t) == 1:
date = t
else:
yield t + date
</code></pre>
<p>为了完整起见,这里有<code>itertools</code>解决方案:</p>
<pre><code>from itertools import groupby
[t + ds[0] for ds, ts in zip(*[(list(g) for _, g in groupby(l, len))] * 2) for t in ts]
</code></pre>