gpt4 book ai didi

python - 使用 if 和 break 创建 Python 列表理解

转载 作者:太空狗 更新时间:2023-10-29 17:10:15 24 4
gpt4 key购买 nike

是否可以将此代码转换为列表理解?

for i in userInput:
if i in wordsTask:
a = i
break

我知道如何转换其中的一部分:

[i for i in userInput if i in wordsTask]

但我不知道如何添加中断,文档也没有太大帮助。

如有任何帮助,我们将不胜感激。

最佳答案

a = next(i for i in userInput if i in wordsTask)

稍微分解一下:

[i for i in userInput if i in wordsTask]

将生成一个列表。您想要的是列表中的第一项。一种方法是使用下一个函数:

next([i for i in userInput if i in wordsTask])

Next 从迭代器返回下一个项目。对于像列表这样的可迭代对象,它最终会获取第一项。

但是没有理由实际构建列表,所以我们可以使用生成器表达式来代替:

a = next(i for i in userInput if i in wordsTask)

另请注意,如果生成器表达式为空,则会导致异常:StopIteration。您可能想要处理这种情况。或者你可以添加一个默认值

a = next((i for i in userInput if i in wordsTask), 42)

关于python - 使用 if 和 break 创建 Python 列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com