题目
补全代码,使用匿名函数(lambda)结合filter筛选列表中的奇数:nums = [1, 2, 3, 4, 5, 6]odd_nums = list(filter(____, nums))print(odd_nums) # 输出[1, 3, 5]
补全代码,使用匿名函数(lambda)结合filter筛选列表中的奇数:
nums = [1, 2, 3, 4, 5, 6]
odd_nums = list(filter(____, nums))
print(odd_nums) # 输出[1, 3, 5]
题目解答
答案
根据题目要求,需使用`lambda`函数结合`filter`筛选列表中的奇数。`filter`函数的参数为一个判断函数和可迭代对象。这里,判断函数应返回`True`表示保留该元素(即奇数)。
可以使用`lambda x: x % 2 != 0`,表示当`x`除以2的余数不为0时返回`True`。
另外,`lambda x: x % 2`也是可行的,因为`x % 2`在`x`为奇数时返回1(`True`),偶数时返回0(`False`)。
完整代码如下:
```python
nums = [1, 2, 3, 4, 5, 6]
odd_nums = list(filter(lambda x: x % 2 != 0, nums))
print(odd_nums) # 输出 [1, 3, 5]
```
或:
```python
odd_nums = list(filter(lambda x: x % 2, nums))
```
两种方法均符合要求,核心在于利用`lambda`函数实现奇数判断。
答案:`lambda x: x % 2 != 0`(或`lambda x: x % 2`)。