在基本的 python 列表理解中使用'or'运算符



问题:如何在python列表理解中使用OR?

我希望输出0-99之间的任何数字,可以被5整除或7整除,没有余数。我有以下代码:

numbers = [x for x in range(99) if x % 5 == 0 if x % 7 == 0]

但它返回:0、35、70它们是可被5和7整除的数字。我也试过:

numbers = [x % 5 == 0 or x % 7 == 0 for x in range(99)]

但这会为每个数字返回True或False,我希望在其中获得数字本身。使用此:

numbers = [x for x in range(99) if x % 5 == 0 or if x % 7 == 0]

引发语法错误。

我看了以下几页,但不知道如何应用这些解决方案。它们似乎都为我想要的解决方案提供了细微差别,但不是我想要的。

datacamp.com/community/tutorials/python-list-comprehension

programiz.com/python-programming/list-comprehension

在python lambda函数中使用或运算符

不理解python 中的列表理解

这是一个二进制操作器,即在阵列上工作的

如何转换此逐码逐列压缩

用多ifs 理解python列表

不要使用其他if

numbers = [x for x in range(99) if (x % 5 == 0) or (x % 7 == 0)]
print(numbers)

因为if是一个语句,而这些都是表达式,然后执行or并使用if简写进行检查。

相关内容

  • 没有找到相关文章

最新更新