python列表找素数
时间: 2023-08-03 20:58:35 浏览: 90
使用Python实现筛选法求素数可以通过创建一个大小为n的列表,其中n为要求的最大素数,并将其元素全部初始化为True,然后从2开始,将2的倍数全部设置为False,然后到下一个素数,将其倍数全部设置为False,一直循环下去,最后把列表中的True元素都输出即可。当您需要从列表中选择一些元素来创建一个新的列表时,您可以使用Python的列表推导式(List Comprehension)来实现。下面是一个使用列表推导式来选择一个列表中的偶数元素的例子:
```
# 创建一个包含一些整数的列表
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 使用列表推导式来选择偶数元素
even_numbers = [num for num in numbers if num % 2 == 0]
# 输出结果
print(even_numbers)
```
这将输出一个新的列表,其中只包含原始列表中的偶数元素:`[2, 4, 6, 8, 10]`。
在这个例子中,列表推导式包括一个循环来遍历原始列表中的每个元素,并且只有当元素是偶数时才将其包含在新的列表中。
相关问题
Python当中找素数
以下是两种Python找素数的方法:
方法一:穷举法
```python
num = [] # 定义一个空列表用来接收找到的符合条件的数字
for i in range(2, 101):
k = 0
for j in range(1, i+1):
if i % j == 0:
k += 1
if k == 2:
num.append(i)
print(num)
```
方法二:埃氏筛法
```python
def find_prime(n):
is_prime = [True] * (n+1) # 初始化所有数为质数
p = 2 # 从2开始筛选
while p * p <= n:
if is_prime[p]:
for i in range(p*p, n+1, p):
is_prime[i] = False # 将p的倍数标记为合数
p += 1
return [i for i in range(2, n+1) if is_prime[i]]
print(find_prime(100))
```
python 找素数
要在Python中找素数,可以使用以下代码:
```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def find_primes(n):
primes = []
for num in range(2, n+1):
if is_prime(num):
primes.append(num)
return primes
n = int(input("请输入一个正整数: "))
primes = find_primes(n)
print("在", n, "以下的素数有:", primes)
```
这段代码定义了两个函数。`is_prime()` 函数用于检查一个数是否为素数,如果是素数则返回 `True`,否则返回 `False`。`find_primes()` 函数用于找出范围 `[2, n]` 内的所有素数,并将它们存储在一个列表中。
你可以通过输入一个正整数 `n` 来运行这段代码,它将输出在 `n` 以下的所有素数。
阅读全文