擅长:python、mysql、java
<p>阅读<a href="https://docs.python.org/3/library/functions.html#map" rel="nofollow noreferrer">^{<cd1>}</a>的文档(同样适用于<code>filter()</code>),它清楚地指出:</p>
<blockquote>
<p>Return an <strong>iterator</strong> that applies function to every item of iterable ...</p>
</blockquote>
<p>因此,这是预期的行为,因为它不会一次性计算所有元素(节省内存和CPU时间),而是等待您需要它们:</p>
<pre><code>>>> map(lambda x: x ** 2, l)
<map object at 0x7f375ec905f8>
</code></pre>
<p>您可以对结果进行迭代:</p>
<pre><code>>>> for e in map(lambda x: x ** 2, l):
... print(e)
1
4
9
16
25
36
49
64
81
100
</code></pre>
<p>或将其转换为列表或元组:</p>
<pre><code>>>> list(map(lambda x: x ** 2, l))
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
</code></pre>