问题:如何在 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
不要使用另一个if
!
numbers = [x for x in range(99) if (x % 5 == 0) or (x % 7 == 0)]
print(numbers)
因为if
是语句,那些是表达式,然后做or
和使用if
速记来检查。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句