如何在列表推导式中正确放置 if 语句?

Barbara Streisand
发布: 2024-10-22 13:33:02
原创
773 人浏览过

How to Correctly Place an if Statement in a List Comprehension?

if 语句的列表理解中存在语法错误

在提供的列表理解中:

<code class="python">print([ y if y not in b for y in a])</code>
登录后复制

您遇到语法错误用“^”符号表示。该错误源于 if 语句在推导式中的位置不正确。

具有 if 条件的列表推导式的正确语法是:

<code class="python">[expression for item in iterable if condition]</code>
登录后复制

在您的情况下,条件应该放在 for 语句之后:

<code class="python">print([y for y in a if y not in b])</code>
登录后复制

这个修改后的推导式将迭代 a 的元素,评估每个元素是否不包含在 b 中,并在结果列表中仅包含那些满足条件的元素。根据需要,此代码的输出将是 ['r']。

此外,您可以使用 if-else 三元运算符为不满足条件的元素提供替代值:

<code class="python">print([y if y not in b else None for y in a])</code>
登录后复制

此推导式将返回一个包含 'r' 和 None 的列表,因为 'q' 包含在 a 和 b 中。

以上是如何在列表推导式中正确放置 if 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!