Python3 【高阶函数】水平考试:30道精选试题和答案
试卷说明
本试卷包含:选择题 :15 道、填空题 :10 道和 编程题 :5 道,总分 100 分。每道题后附有答案和解析。
高阶函数测试试卷
满分:100 分
时间:90 分钟
一、选择题(每题 2 分,共 30 分)
-
以下哪个是 Python 内置的高阶函数?
A.
lenB.
mapC.
typeD.
print
答案:B -
map函数的返回值是什么类型?A. 列表
B. 元组
C. 迭代器
D. 字典
答案:C -
以下代码的输出是什么?
pythonnumbers = [1, 2, 3, 4] result = list(map(lambda x: x * 2, numbers)) print(result)A.
[1, 2, 3, 4]B.
[2, 4, 6, 8]C.
[1, 4, 9, 16]D.
[2, 3, 4, 5]
答案:B -
以下代码的输出是什么?
pythonnumbers = [1, 2, 3, 4, 5] result = list(filter(lambda x: x % 2 == 0, numbers)) print(result)A.
[1, 3, 5]B.
[2, 4]C.
[1, 2, 3, 4, 5]D.
[]
答案:B -
以下代码的输出是什么?
pythonfrom functools import reduce numbers = [1, 2, 3, 4] result = reduce(lambda x, y: x + y, numbers) print(result)A.
10B.
24C.
1D.
4
答案:A -
以下代码的输出是什么?
pythonwords = ["apple", "banana", "cherry"] result = sorted(words, key=lambda x: len(x)) print(result)A.
['apple', 'banana', 'cherry']B.
['cherry', 'banana', 'apple']C.
['apple', 'cherry', 'banana']D.
['banana', 'apple', 'cherry']
答案:C -
以下代码的输出是什么?
pythonnumbers = [1, 2, 3, 4] result = list(map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, numbers))) print(result)A.
[1, 4, 9, 16]B.
[2, 4]C.
[4, 16]D.
[1, 3]
答案:C -
以下代码的输出是什么?
pythonfrom functools import partial def power(base, exponent): return base ** exponent square = partial(power, exponent=2) print(square(4))A.
16B.
8C.
4D.
2
答案:A -
以下代码的输出是什么?
pythondef create_multiplier(factor): def multiplier(x): return x * factor return multiplier double = create_multiplier(2) print(double(5))A.
5B.
10C.
15D.
20
答案:B -
以下代码的输出是什么?
pythonnumbers = [1, 2, 3, 4] result = map(lambda x: print(x), numbers) list(result)A.
[1, 2, 3, 4]B.
1 2 3 4C.
NoneD. 无输出
答案:B -
以下代码的输出是什么?
pythonfrom functools import reduce numbers = [] result = reduce(lambda x, y: x + y, numbers, 10) print(result)A.
0B.
10C. 报错
D.
None
答案:B -
以下代码的输出是什么?
pythondata = [{"value": 3}, {"value": 1}, {"value": 2}] result = sorted(data, key=lambda x: x["value"]) print(result)A.
[{'value': 1}, {'value': 2}, {'value': 3}]B.
[{'value': 3}, {'value': 1}, {'value': 2}]C.
[{'value': 1}, {'value': 3}, {'value': 2}]D.
[{'value': 2}, {'value': 1}, {'value': 3}]
答案:A -
以下代码的输出是什么?
pythonnumbers = [1, 2, 3, 4] result = list(map(lambda x: x ** 2 if x % 2 == 0 else x ** 3, numbers)) print(result)A.
[1, 4, 27, 16]B.
[1, 4, 9, 16]C.
[1, 8, 27, 64]D.
[1, 2, 3, 4]
答案:A -
以下代码的输出是什么?
pythonfunctions = [lambda x: x + i for i in range(3)] result = [f(1) for f in functions] print(result)A.
[1, 2, 3]B.
[2, 3, 4]C.
[3, 3, 3]D.
[1, 1, 1]
答案:C -
以下代码的输出是什么?
pythonfrom functools import lru_cache @lru_cache(maxsize=None) def fibonacci(n): if n < 2: return n return fibonacci(n-1) + fibonacci(n-2) print(fibonacci(10))A.
10B.
55C.
89D.
144
答案:B
二、填空题(每题 3 分,共 30 分)
-
map函数的作用是对可迭代对象中的每个元素应用一个函数,并返回一个________。
答案:迭代器 -
filter函数的作用是根据函数的返回值(True或False)过滤可迭代对象中的元素,并返回一个________。
答案:迭代器 -
reduce函数的作用是对可迭代对象中的元素进行________计算。
答案:累积 -
sorted函数的key参数用于指定一个函数来提取________。
答案:比较键 -
以下代码的输出是________。
pythonnumbers = [1, 2, 3, 4] result = list(map(lambda x: x + 1, numbers)) print(result)答案:
[2, 3, 4, 5] -
以下代码的输出是________。
pythonnumbers = [1, 2, 3, 4, 5] result = list(filter(lambda x: x > 3, numbers)) print(result)答案:
[4, 5] -
以下代码的输出是________。
pythonfrom functools import reduce numbers = [1, 2, 3, 4] result = reduce(lambda x, y: x * y, numbers, 1) print(result)答案:
24 -
以下代码的输出是________。
pythonwords = ["apple", "banana", "cherry"] result = sorted(words, key=lambda x: len(x), reverse=True) print(result)答案:
['banana', 'cherry', 'apple'] -
以下代码的输出是________。
pythonnumbers = [1, 2, 3, 4] result = list(map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, numbers))) print(result)答案:
[4, 16] -
以下代码的输出是________。
pythonfrom functools import partial def power(base, exponent): return base ** exponent cube = partial(power, exponent=3) print(cube(2))答案:
8
三、编程题(每题 8 分,共 40 分)
-
编写一个函数
square_even_numbers,接受一个整数列表,返回所有偶数的平方组成的列表。
答案:pythondef square_even_numbers(numbers): return list(map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, numbers))) -
编写一个函数
sum_of_squares,使用reduce计算列表中所有元素的平方和。
答案:pythonfrom functools import reduce def sum_of_squares(numbers): return reduce(lambda x, y: x + y ** 2, numbers, 0) -
编写一个函数
sort_by_length,接受一个字符串列表,按字符串长度排序。
答案:pythondef sort_by_length(words): return sorted(words, key=lambda x: len(x)) -
编写一个函数
create_multiplier,接受一个因子factor,返回一个函数,该函数可以将输入的数乘以factor。
答案:pythondef create_multiplier(factor): return lambda x: x * factor -
编写一个函数
fibonacci,使用lru_cache装饰器优化斐波那契数列的计算。
答案:pythonfrom functools import lru_cache @lru_cache(maxsize=None) def fibonacci(n): if n < 2: return n return fibonacci(n-1) + fibonacci(n-2)
总分:100 分