输入一个包含若干整数的列表,输出一个新列表,要求新列表中只包含原列表中的偶数。提示:filter()、lambda()。
时间: 2024-10-17 18:09:38 浏览: 39
你可以使用Python的内置函数`filter()`和`lambda`表达式来完成这个任务。`filter()`函数接收一个函数和一个序列作为输入,它会创建一个新的迭代器,只对原始序列中满足给定条件的元素进行迭代。在这个例子中,`lambda x: x % 2 == 0`是一个匿名函数,用于检查每个元素是否是偶数。
这是一个示例代码:
```python
def filter_even_numbers(numbers):
return list(filter(lambda x: x % 2 == 0, numbers))
# 示例
input_list = [1, 2, 3, 4, 5, 6]
output_list = filter_even_numbers(input_list)
print(output_list) # 输出: [2, 4, 6]
```
上述代码首先定义了一个函数`filter_even_numbers`,接受一个整数列表`numbers`作为输入。然后,`filter()`函数结合`lambda`表达式过滤出所有偶数,并将结果转换为列表返回。
相关问题
编写程序,输入一个包含若干整数列表,输出一个新列表,要求新列表中只包含原列表中的偶数,且按降序排列。
```python
# 输入原列表
lst = input("请输入一个整数列表,以空格分隔:").split()
# 将字符串列表转换为整数列表
lst = [int(x) for x in lst]
# 从原列表中筛选出偶数,并按降序排列
new_lst = sorted(filter(lambda x: x%2==0, lst), reverse=True)
# 输出新列表
print("新列表为:", new_lst)
```
示例输出:
```
请输入一个整数列表,以空格分隔:1 2 3 4 5 6 7 8 9 10
新列表为: [10, 8, 6, 4, 2]
```
编写程序,输入一个包含若干整数的列表,输出一个新列表,要求新列表中只包含原列表中的偶数。
好的,您的要求已经明确,我可以给您提供一个Python示例程序来解决这个问题:
```
def filter_even_numbers(input_list):
return [num for num in input_list if num % 2 == 0]
input_list = [1, 2, 3, 4, 5, 6, 7, 8]
output_list = filter_even_numbers(input_list)
print(output_list)
```
运行后,输出结果会是 `[2, 4, 6, 8]`。
希望我的回答对您有帮助!
阅读全文