擅长:python、mysql、java
<p>在python3+中,<code>map()</code>是一个类,而不是函数(<a href="http://docs.python.org/3/library/functions.html#map" rel="nofollow">documentation here</a>)。一个<code>map</code>实例可以被迭代,序列中的每一项只会在需要时被处理(“延迟评估”)。这样就不需要创建实际的列表,节省了时间和内存,如果您不需要所有的项(例如,当您达到某个值时停止处理),那么您也可以保存一堆函数调用。一般来说,您需要使用<code>map()</code>执行以下操作:</p>
<pre><code>for num in map(float, listnum):
print(num) # or do something else
</code></pre>
<p>如果确实需要实际列表,只需将其转换为:<code>list()</code>构造函数接受任何iterable,包括<code>map()</code>实例:</p>
<pre><code>w = list(map(float, listnum))
</code></pre>
<p>打印<code>map</code>对象时看到的不是错误,而是对象的默认Python显示(<code>repr()</code>)。代码是十六进制对象的<code>id()</code>,在CPython中是它的内存地址;这主要用于区分一个实例和其他实例。你会经常看到的,所以要习惯。你知道吗</p>