擅长:python、mysql、java
<p>虽然列表理解是一个完全有效的答案,因为您只是在更改类型,但可能值得考虑另一种选择,<a href="http://docs.python.org/3.3/library/functions.html#map" rel="noreferrer">the ^{<cd1>} built-in</a>:</p>
<pre><code>>>> list_of_tuples = [(1, 2), (4, 5)]
>>> map(list, list_of_tuples)
[[1, 2], [4, 5]]
</code></pre>
<p>内置的<code>map()</code>只需对给定iterable的每个元素应用一个callable。这使它适合这个特殊的任务。一般来说,列表理解更具可读性和效率(对于使用<code>map()</code>执行任何复杂的操作,您需要<code>lambda</code>),但是如果您只想更改类型,<code>map()</code>可以非常清晰和快速。</p>
<p>注意,我这里用的是2.x,所以我们得到一个列表。在3.x中,您将得到一个iterable(这很懒),如果您想在3.x中得到一个列表,只需<code>list(map(...))</code>。如果您可以使用iterable,那么<a href="http://docs.python.org/2/library/itertools.html#itertools.imap" rel="noreferrer">^{<cd7>}</a>在2.x中提供了一个懒惰的<code>map()</code></p>