在 Python 中,列表推导式提供了一种简洁的方法,可以在应用某些条件时基于现有的可迭代对象创建新列表。当尝试比较两个可迭代对象并仅打印两个列表中存在的项目时,可能会遇到以下错误:
print([ y if y not in b for y in a])
上面的代码旨在迭代第一个可迭代对象 (a) 并打印项目在第二个可迭代 (b) 中未找到。但是,由于 if 语句的放置不正确,会引发“无效语法”错误。
if 语句的列表推导式的正确语法是将 for 子句放在 if 条件之前。因此,实现所需结果的正确代码是:
[y for y in a if y not in b]
或者,如果目标是为第二个可迭代中未找到的项目打印不同的值,则可以使用 if-else 三元运算符:
[y if y not in b else other_value for y in a]
以上是如何在 Python 列表推导式中使用 If 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!