编写程序,实现将列表ls=[51,33,54,56,67,88,431,111,141,72,45,2,78,13,15,5,69]中的素数去掉,并输出去掉后的列表元素个数,python
时间: 2023-10-02 17:10:18 浏览: 152
可以使用以下程序来实现:
```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
ls = [51, 33, 54, 56, 67, 88, 431, 111, 141, 72, 45, 2, 78, 13, 15, 5, 69]
ls = [n for n in ls if not is_prime(n)] # 使用列表推导式,将素数去掉
print(len(ls)) # 输出去掉后的列表元素个数
```
程序中,我们首先定义了一个函数 `is_prime(n)` 来判断一个数是否为素数。然后,我们定义了列表 `ls`,并使用列表推导式将素数去掉。最后,我们输出去掉后的列表元素个数。
相关问题
请用Python语言编程问题:编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数。要求:ls列表中存放结果
可以使用Python内置的random模块来生成随机整数,然后使用列表推导式生成包含50个随机整数的列表。接着,使用filter()函数和lambda表达式来过滤掉所有奇数,最后将剩下的偶数重新存入ls列表中。具体代码如下:
```python
import random
# 生成包含50个随机整数的列表
lst = [random.randint(1, 100) for _ in range(50)]
print("原始列表:", lst)
# 删除所有奇数
lst = list(filter(lambda x: x % 2 == 0, lst))
print("删除奇数后的列表:", lst)
```
运行结果如下:
```
原始列表: [3, 4, 90, 68, 27, 22, 26, 55, 1, 77, 30, 26, 89, 91, 29, 27, 75, 38, 6, 51, 40, 11, 24, 27, 89, 20, 62, 5, 38, 85, 99, 58, 59, 4, 89, 40, 20, 84, 62, 11, 83, 12, 8, 71, 56, 54, 46, 73, 45, 61]
删除奇数后的列表: [4, 90, 68, 22, 26, 30, 26, 38, 6, 40, 24, 20, 62, 38, 58, 4, 40, 20, 84, 62, 12, 8, 56, 54, 46]
```
阅读全文