擅长:python、mysql、java
<p>您可以使用<code>filter</code>或列表理解使代码变得更短,尽管不一定要更快:</p>
<pre><code>def take_fruit_listcomp(type, all_fruits):
try:
return [f for f in all_fruits if f.type == type][0]
except IndexError:
return None
def take_fruit_filter(type, all_fruits):
try:
# no need for list(..) if you use Python 2
return list(filter(lambda f: f.type == type, all_fruits))[0]
except IndexError:
return None
</code></pre>