擅长:python、mysql、java
<p><code>map()</code>在某些情况下可能比使用列表理解快一些,在某些情况下,map比列表理解慢一些。</p>
<p>使用内置函数时:</p>
<pre><code>python -mtimeit -s'xs=xrange(1000)' 'map(int,"1234567890")'
10000 loops, best of 3: 18.3 usec per loop
python -mtimeit -s'xs=xrange(1000)' '[int(x) for x in "1234567890"]'
100000 loops, best of 3: 20 usec per loop
</code></pre>
<p>随着<code>lambda</code>,<code>map()</code>变慢:</p>
<pre><code>python -mtimeit -s'xs=xrange(1000)' '[x*10 for x in "1234567890"]'
100000 loops, best of 3: 6.11 usec per loop
python -mtimeit -s'xs=xrange(1000)' 'map(lambda x:x*10,"1234567890")'
100000 loops, best of 3: 11.2 usec per loop
</code></pre>
<p>但是,在python 3x中{<cd1>}返回一个映射对象,即迭代器</p>