<p>我一直在很好地利用这个函数,它通常在我需要的时候定义,因为它太小了:</p>
<pre><code>def func(_lambda, *args):
return _lambda(*args)
</code></pre>
<p>即</p>
<pre><code>[func((lambda x: (("fizbuz" if x%5==0 else "fiz")
if x%3==0 else ("buz" if x%5==0 else x))), x)
for x in list(range(1,101))]
</code></pre>
<p>在Python中是否有与此等效的内置函数</p>
<p>python3不再有apply函数(尽管python2有)</p>
<p>列表理解消除了使用函数的需要。直接使用函数体</p>
<pre><code>[("fizbuz" if x%5 == 0 else "fiz")
if x%3 == 0
else ("buz" if x%5 == 0 else x)
for x in list(range(1,101))]
</code></pre>
<p>这也更有效,因为不再重复调用用户定义的函数</p>