擅长:python、mysql、java
<p>你不能用<code>lambda</code>迭代。在Python中迭代iterable对象的方法如下:</p>
<ol>
<li><code>for</code>语句(您的答案)</li>
<li>理解,包括列表<code>[x for x in y]</code>、字典<code>{key: value for key, value in x}</code>和集合<code>{x for x in y}</code></li>
<li>生成器表达式:<code>(x for x in y)</code></li>
<li>传递给将迭代它的函数(<code>map</code>,<code>all</code>,<code>itertools</code>模块)</li>
<li>手动调用<code>next</code>函数,直到发生<code>StopIteration</code>。</li>
</ol>
<p>注意:3不会迭代它,除非您稍后在生成器上迭代。如果是4,则取决于函数。</p>
<p>对于像dict或list这样的迭代特定集合,可以有更多的技术,比如<code>while col: remove element</code>或使用索引切片技巧。</p>
<p>现在<code>lambda</code>进入画面。您可以在其中一些函数中使用lambdas,例如:<code>map(lambda x: x*2, [1, 2, 3])</code>。但这里的lambda与迭代过程本身无关,您可以传递一个正则函数<code>map(func, [1, 2, 3])</code>。</p>