Python求列表中所有素数的和
时间: 2024-02-23 19:58:08 浏览: 106
给定一个范围输出素数的个数和所有的素数
4星 · 用户满意度95%
可以使用以下代码来求列表中所有素数的和:
```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 sum_primes(lst):
return sum(filter(is_prime, lst))
```
首先,我们定义了一个函数 `is_prime` 来判断一个数是否为素数,如果是素数,返回 `True`,否则返回 `False`。在 `is_prime` 函数中,我们先判断输入的数是否小于等于 1,如果是,直接返回 `False`。然后,我们从 2 开始,到这个数的平方根加 1 的位置,依次判断这个数是否能被 i 整除,如果能,说明这个数不是素数,返回 `False`。如果循环结束,说明这个数是素数,返回 `True`。
接下来,我们定义了一个函数 `sum_primes`,该函数接收一个列表参数 `lst`,并使用 `filter` 函数来过滤出列表中的素数,然后使用 `sum` 函数求和并返回结果。
阅读全文