擅长:python、mysql、java
<p>使用嵌套理解:</p>
<pre><code>>>> zipped = [
('ef', ['c', 'b', 'a']),
('a', ['b']),
('ab', ['c']),
('b', ['c']),
('c', ['c', 'a']),
]
>>> [pre + s for pre, suf in zipped for s in suf]
['efc', 'efb', 'efa', 'ab', 'abc', 'bc', 'cc', 'ca']
</code></pre>
<p>如果这种理解乍一看是没有意义的,那么把它想象成一个嵌套的<code>for</code>循环:</p>
<pre><code>>>> for pre, suf in zipped:
... for s in suf:
... print(pre + s)
...
efc
efb
efa
ab
abc
bc
cc
ca
</code></pre>