您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

分解一下:

[i for i in userInput if i in wordsTask]
@H_502_2@

将产生一个清单。您想要的是列表中的第一项。一种方法是使用下一个功能

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

Next返回迭代器的下一项。在像列表这样的可迭代的情况下,它最终采用了第一项。

但是没有理由真正构建列表,因此我们可以改用生成器表达式:

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

另外,请注意,如果生成器表达式为空,则会导致异常:StopIteration@H_502_2@。您可能要处理这种情况。或者您可以添加

a = next((i for i in userInput if i in wordsTask), 42)
@H_502_2@
python 2022/1/1 18:51:51 有399人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶