python: 使用random创建随机数列表,随机数集合,数据量最少10个 ①使用列表实现筛选法求素数 ②使用集合实现筛选法求素数 ③使用filter()函数统计列表中所有非素数
时间: 2024-10-15 13:29:52 浏览: 147
在Python中,你可以使用`random`模块生成随机数列表和集合。首先,我们来演示如何创建包含10个随机整数的列表和集合:
```python
import random
# 创建随机数列表
random_list = [random.randint(1, 100) for _ in range(10)]
print("Random List:", random_list)
# 创建随机数集合
random_set = set(random_list)
print("Random Set:", random_set)
```
接下来,我们将展示如何使用筛选法(如埃拉托斯特尼筛法)分别在列表和集合中找出素数。这里假设我们有一个函数`is_prime(n)`用于判断一个数是否为素数。
**① 使用列表实现筛选法求素数**
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 筛选列表中的素数
prime_numbers_list = [num for num in random_list if is_prime(num)]
print("Prime Numbers (List):", prime_numbers_list)
```
**② 使用集合实现筛选法求素数**
```python
# 筛选集合中的素数(集合无重复元素)
prime_numbers_set = {num for num in random_set if is_prime(num)}
print("Prime Numbers (Set):", prime_numbers_set)
```
**③ 使用filter()函数统计列表中所有非素数**
```python
non_primes = list(filter(lambda x: not is_prime(x), random_list))
print("Non-Primes:", non_primes)
```
在这个例子中,`filter()`函数会遍历列表,并对每个元素应用`not is_prime()`,返回一个迭代器,我们将其转换成列表来获取非素数的列表。
阅读全文