擅长:python、mysql、java
<p>不,<code>any()</code>只产生<code>True</code>或<code>False</code>。如果需要匹配元素,不要使用<code>any()</code>,而是使用filter(就像使用<code>for</code>循环一样)。你知道吗</p>
<p>您可以先使用列表进行筛选:</p>
<pre><code>matching = [p for p in puntuations_list if p in utterance]
if matching:
# print all matching punctuation on separate lines
print(*matching, sep='\n')
</code></pre>
<p>或者,如果只需要<em>第一个</em>匹配元素,请使用<a href="https://docs.python.org/3/library/itertools.html#next" rel="nofollow noreferrer">^{<cd6>} function</a>和生成器表达式:</p>
<pre><code>matching = next((p for p in puntuations_list if p in utterance), None)
if matching is not None:
print(matching)
</code></pre>
<p>如果生成器表达式不产生任何值,则返回<code>next()</code>的第二个参数;因此这里<code>None</code>表示没有匹配的标点符号(因此<code>any()</code>将返回<code>False</code>)。你知道吗</p>