使用';或';基本python列表中的运算符
问题:如何在python列表中使用OR 我希望输出0-99之间的任何数字,它可以被5整除,也可以被7整除,没有余数。我有以下代码:使用';或';基本python列表中的运算符,python,python-3.x,list,list-comprehension,or-operator,Python,Python 3.x,List,List Comprehension,Or Operator,问题:如何在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 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]
抛出语法错误
我已经阅读了以下几页,但无法理解如何应用提出的解决方案。它们似乎都为我想要的解决方案提供了细微差别,但不是我想要的
如果,请不要使用其他
numbers = [x for x in range(99) if (x % 5 == 0) or (x % 7 == 0)]
print(numbers)
因为if
是一个语句,而这些都是表达式,然后执行或并使用if
速记进行检查。如果x%5==0或x%7==0,那么您与数字=[x在范围(99)内的x非常接近。
,如果
s,则需要一个表达式,而不是两个。如果x%5==0如果x%7==0,则这将像嵌套的if一样工作。