擅长:python、mysql、java
<p>要组合元素,可以尝试使用reduce:</p>
<pre><code>l = [['I', 'got', 'a'], ['jar', 'of', 'dirt'], ['and', 'you', "don't"], ['HA']]
str = reduce(lambda prev,cur: prev+' '+reduce(lambda subprev,word: subprev+' '+word,cur, ''), l, '')
</code></pre>
<p>它将导致:</p>
<pre><code>" I got a jar of dirt and you don't HA"
</code></pre>
<p>如果要删除多余的空格:</p>
<pre><code>str.replace(' ',' ').strip()
</code></pre>
<p>这个reduce-use可以很容易地修改,以便在组合每个子列表的元素之前将其反转:</p>
<pre><code>str = reduce(lambda prev,cur: prev+' '+reduce(lambda subprev,word: subprev+' '+word,cur[::-1], ''), l, '')
</code></pre>
<p>或者在将所有子字符串连接在一起之前反转组合的子字符串:</p>
<pre><code>str = reduce(lambda prev,cur: prev+' '+reduce(lambda subprev,word: subprev+' '+word,cur, '')[::-1], l, '')
</code></pre>