擅长:python、mysql、java
<p>您的第一个代码段应该如下所示:</p>
<pre><code>try:
item['index'] = mylist[mylist.index('a') + 1]
except ValueError:
try:
item['index'] = mylist[mylist.index('y') + 1]
except ValueError:
item['index'] = None
</code></pre>
<p>或者有这样的for循环:</p>
<pre><code>for element in ['a', 'y']:
try:
item['index'] = mylist[mylist.index(element) + 1]
except ValueError:
continue
else:
break
else:
item['index'] = None
</code></pre>
<p>IMO使用try块在性能方面更好,因为无论ValueError发生与否,您都可以避免在任何情况下进行检查,而且它的可读性和python性也更高。你知道吗</p>