擅长:python、mysql、java
<p>我觉得这个例子太短了,“为什么要麻烦?”在这种情况下,这个问题完全合乎逻辑。在</p>
<p>然而,如果要进一步处理发现的值,差异将变得明显(但也需要更多的呈现时间)</p>
<p>Python道:</p>
<pre><code>def find1(seq, target):
for i, value in enumerate(seq):
if value == target:
break
else:
return -1
i = some_preprocessing(i)
func(i)
i = final_adjustment(i)
logging_result(i)
return i
</code></pre>
<p>如果没有<code>else</code>-处理代码将出现在搜索循环中。代码也向右缩进了很多。在</p>
^{pr2}$
<p>另外,使用标志的代码(Hettinger先生开始使用的例子)也不如:</p>
<pre><code>def find2(seq, target):
found = False
for i, value in enumerate(seq):
if value == target:
found = True
break
if not found:
return -1
i = some_preprocessing(i)
func(i)
i = final_adjustment(i)
logging_result(i)
return i
</code></pre>