在python中使用“any”返回变量?

2024-09-28 17:31:31 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有任何方法可以使用任何函数返回一个变量?你知道吗

不使用任何:

for punctuation in punctuations_list:
    if punctuation in utterance:
        print (punctuation)

任何(由于标点符号未初始化而出现错误):

if any(punctuation in utterance for punctuation in punctuations_list):
    print (punctuation)

Tags: 方法函数inforif错误anylist
2条回答

不,any()只产生TrueFalse。如果需要匹配元素,不要使用any(),而是使用filter(就像使用for循环一样)。你知道吗

您可以先使用列表进行筛选:

matching = [p for p in puntuations_list if p in utterance]
if matching:
    # print all matching punctuation on separate lines
    print(*matching, sep='\n')

或者,如果只需要第一个匹配元素,请使用^{} function和生成器表达式:

matching = next((p for p in puntuations_list if p in utterance), None)
if matching is not None:
    print(matching)

如果生成器表达式不产生任何值,则返回next()的第二个参数;因此这里None表示没有匹配的标点符号(因此any()将返回False)。你知道吗

不,any()只能返回True或False,如果需要变量,请使用filter()

相关问题 更多 >