使用条件语句更正列表理解的语法
尝试使用列表理解来比较两个可迭代并输出出现的项目时在这两种情况下,如果条件语句放置不正确,您可能会遇到语法错误。
在提供的代码片段中,发生错误是因为 if 条件(y 不在 b 中)写在 for 语句之前。具有 if 条件的列表理解的正确语法是将条件语句放在 for 语句之后,如下所示:
<code class="python">[y for y in a if y not in b]</code>
此修改后的代码将正确迭代可迭代 a 中的每个元素 y 和只包含可迭代对象中不存在的元素 b.结果,它会按预期打印 ['r']。
或者,您也可以使用 if-else 三元运算符来实现所需的结果,如下所示:
<code class="python">[y if y not in b else other_value for y in a]</code>
在这种情况下,将为 b 中存在的任何 y 打印 other_value。
以上是如何使用条件语句解决列表推导式中的语法错误?的详细内容。更多信息请关注PHP中文网其他相关文章!