擅长:python、mysql、java
<p>不,<code>(cc in chars)</code>只是一个布尔值,如果cc在chars中则返回True,否则返回False。你知道吗</p>
<p>实际上,代码实际上是可以编写的</p>
<pre><code>chars = set('AEIOU')
...
if [cc for cc in name[ii] if cc in chars]:
print 'Found'
</code></pre>
<p>在这种情况下,如果列表中有任何元素(使其通过if子句),那是因为某些cc在chars中。事实上,我会发现这更具可读性和直截了当。
干杯。你知道吗</p>
<p><strong>编辑:</strong></p>
<p>为了澄清我的答案,<code>[cc for cc in name[ii] if cc in chars]</code>生成了name[ii]中“chars”中的所有字符(在这种情况下是元音)的列表。如果此列表上有任何元素,它将通过If测试。你知道吗</p>
<p><code>[cc for cc in name[ii] if cc in chars]</code>表示“对于name[ii]中的每个元素/字符,只有在chars中才添加它。查看<a href="https://stackoverflow.com/questions/4406389/if-else-in-a-list-comprehension/4406777#4406777">this</a>答案以获得澄清。你知道吗</p>