Python列表推导式求素数
时间: 2023-11-19 07:50:56 浏览: 130
可以使用Python列表推导式来求素数,代码如下:
```python
primes = [x for x in range(2, 101) if all(x % y != 0 for y in range(2, int(x**0.5)+1))]
print(primes)
```
这段代码会输出2到100之间的所有素数。
解释一下代码:首先使用列表推导式生成2到100之间的所有数,然后使用`all()`函数和一个内部的生成器表达式来判断每个数是否为素数。生成器表达式会生成从2到该数平方根的所有数,然后使用`%`运算符判断该数是否能被这些数整除。如果都不能整除,则该数为素数。
相关问题
在python中用列表推导式求出100以内的质数,求解结果形成一个列表。
好的,这个问题可以回答。以下是使用列表推导式在Python中求出100以内的质数,并将结果保存在一个列表中的代码:
```
prime_nums = [i for i in range(2, 101) if all(i % j != 0 for j in range(2, int(i ** 0.5) + 1))]
```
执行上述代码后,prime_nums 将包含从2到100之间所有的质数。
利用列表推导式 求2-100以内的素数python实现
```
# 判断是否是素数
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
# 生成2-100之间的素数列表
prime_list = [i for i in range(2, 101) if is_prime(i)]
print(prime_list)
```
输出结果:
```
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
```
阅读全文