擅长:python、mysql、java
<p>也许:</p>
<pre><code>>>> s = 'this string x contains y several letters z'
>>> next(i for i,c in enumerate(s) if c in 'xyz')
12
>>> s[12]
'x'
</code></pre>
<p>如果找不到异常,则会引发异常,可以使用默认值进行修复:</p>
^{pr2}$
<p>您还可以预先构造一个集来测试成员资格:</p>
<pre><code>>>> special = set("vmp")
>>> next((i for i,c in enumerate(s) if c in special), -1)
27
</code></pre>
<p>如果有很多字母需要测试,那么这个速度可能会更快;这在很大程度上取决于所涉及的大小。很容易实验,如果它是重要的,但(扰流板警报)它可能不是</p>