Jav*_*aSa 10 python math list-comprehension
我试图生成范围x到y的所有素数.我先尝试了一个简单的例子:range(10,11)这意味着检查10是否是素数:
这是我的代码:
prime_list = [x for x in range(10, 11) for y in range(2,x) if x % x == 0 and x % 1 == 0 and x % y != 0]
Run Code Online (Sandbox Code Playgroud)
我知道事情是缺少告诉表达式的选项,x%y != 0应该检查所有y in range (2,x)并且当且仅当所有人都满足这个条件时才返回true.
我们怎么做?
fal*_*tru 23
使用all检查的所有元素(从2高达X-1)满足的条件:
>>> [x for x in range(2, 20)
if all(x % y != 0 for y in range(2, x))]
[2, 3, 5, 7, 11, 13, 17, 19]
Run Code Online (Sandbox Code Playgroud)