第六章 4 函数-高阶函数 练习题

第六章 4 函数-高阶函数  练习题
[基础知识]
1 filter、map、reduce 的作用?
filter(func,iterable):通过判断函数func,筛选符合选件的元素。
filter(lambda x:x>3,[1,2,3,4,5])
===<filter boject at 0*0000000003813828>,与list结合后可以生成列表
alist = list(filter(lambda x : x>3, [1,2,3,4,5]))
print(alist) # [4, 5]


map(func,*iterable):将func作用于每个iterable对象
map(lambda a,b:a+b,[1,2,3,4,5],[1,2,3])
====[2,4,6]
list1 = list(map(lambda x,y:x+y,[1,2,3,4],[1,3,5,8]))
print(list1) # [2, 5, 8, 12]


reduce():函数会对参数序列中的元素进行累积
reduce(lambda x,y:x+y,[1,2,3,4,5]) #使用lambda函数
===15
python 3.x之后,这个可怜的功能就在内置函数中被移除了。。。。
现在要用,需要从标准库 functools 导入 reduce()函数

2 map(str,[1,2,3,4,5,6,7,8,9]) 输出是什么?
b=map(str,[1,2,3,4,5,6,7,8,9])
print(b) # <map object at 0x0000021DDFC335B0>
print(list(b)) # ['1', '2', '3', '4', '5', '6', '7', '8', '9']
map的功能,是作用于每个iterable对象


3 print(list(map(lambda x: x * x, [y for y in range(3)])))的输出?
[0,1,4]

4 list(map(str, [1, 2, 3]))的执行结果为_____________________
['1', '2', '3']

5 表 达 式 list(filter(None, [0,1,2,3,0,0])) 的 值 为
__________________
[1, 2, 3]

6 表达式 list(filter(lambda x:x>2, [0,1,2,3,0,0])) 的值为_________
[3]

7 list(filter(lambda x: x%2==0, range(10))) 的 值 为
__________________________
[0,2,4,6,8]

8 list(filter(lambda x: len(x)>3, [‘a’,‘b’,‘abcd’])) 的 值 为
___________
['abcd’]

9 表 达 式 list(map(list,zip(*[[1, 2, 3], [4, 5, 6]]))) 的 值 为
________________
[[1, 4], [2, 5], [3, 6]]

10 假设已从标准库 functools 导入 reduce()函数,那么表达式
reduce(lambda x, y: x-y, [1, 2, 3]) 的值为
-4

11 假设已从标准库 functools 导入 reduce()函数,那么表达式
reduce(lambda x, y: x+y, [1, 2, 3]) 的值为____
6

12 执行语句 x,y,z = map(str, range(3)) 之后,变量 y 的值为
___________
1

13 已知 x, y = map(int, [‘1’,‘2’]),那么表达式 x + y 的值为
3

[面试真题]
1 列表 [1, 2, 3, 4, 5], 用 map 生成 [1, 4, 9, 16, 25],并列表推
导式提取出大于 10 的,最终生成[16, 25]

alist = list(map(lambda x:x**2, [1, 2, 3, 4, 5]))
print(alist) # [1, 4, 9, 16, 25]
alist=[x for x in alist if x>10]
print(alist) # [16, 25]

2 下列代码运行结果是?( )
a = map(lambda x: **3,[1,2,3])
list(a)
• A:[1,6,9]
• B:[1,12,27]
• C:[1,8,27]
• D:(1,6,9)
a = map(lambda x: x**3,[1,2,3])
print(list(a)) # [1, 8, 27]

C
posted @ 2022-09-06 16:36  六八少年  阅读(275)  评论(0编辑  收藏  举报