Python3 【高阶函数】水平考试:30道精选试题和答案

Python3 【高阶函数】水平考试:30道精选试题和答案

试卷说明

本试卷包含:选择题 :15 道、填空题 :10 道和 编程题 :5 道,总分 100 分。每道题后附有答案和解析。


高阶函数测试试卷

满分:100 分
时间:90 分钟


一、选择题(每题 2 分,共 30 分)

  1. 以下哪个是 Python 内置的高阶函数?

    A. len

    B. map

    C. type

    D. print
    答案:B

  2. map 函数的返回值是什么类型?

    A. 列表

    B. 元组

    C. 迭代器

    D. 字典
    答案:C

  3. 以下代码的输出是什么?

    python 复制代码
    numbers = [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

  4. 以下代码的输出是什么?

    python 复制代码
    numbers = [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

  5. 以下代码的输出是什么?

    python 复制代码
    from functools import reduce
    numbers = [1, 2, 3, 4]
    result = reduce(lambda x, y: x + y, numbers)
    print(result)

    A. 10

    B. 24

    C. 1

    D. 4
    答案:A

  6. 以下代码的输出是什么?

    python 复制代码
    words = ["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

  7. 以下代码的输出是什么?

    python 复制代码
    numbers = [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

  8. 以下代码的输出是什么?

    python 复制代码
    from functools import partial
    def power(base, exponent):
        return base ** exponent
    square = partial(power, exponent=2)
    print(square(4))

    A. 16

    B. 8

    C. 4

    D. 2
    答案:A

  9. 以下代码的输出是什么?

    python 复制代码
    def create_multiplier(factor):
        def multiplier(x):
            return x * factor
        return multiplier
    double = create_multiplier(2)
    print(double(5))

    A. 5

    B. 10

    C. 15

    D. 20
    答案:B

  10. 以下代码的输出是什么?

    python 复制代码
    numbers = [1, 2, 3, 4]
    result = map(lambda x: print(x), numbers)
    list(result)

    A. [1, 2, 3, 4]

    B. 1 2 3 4

    C. None

    D. 无输出
    答案:B

  11. 以下代码的输出是什么?

    python 复制代码
    from functools import reduce
    numbers = []
    result = reduce(lambda x, y: x + y, numbers, 10)
    print(result)

    A. 0

    B. 10

    C. 报错

    D. None
    答案:B

  12. 以下代码的输出是什么?

    python 复制代码
    data = [{"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

  13. 以下代码的输出是什么?

    python 复制代码
    numbers = [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

  14. 以下代码的输出是什么?

    python 复制代码
    functions = [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

  15. 以下代码的输出是什么?

    python 复制代码
    from 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. 10

    B. 55

    C. 89

    D. 144
    答案:B


二、填空题(每题 3 分,共 30 分)

  1. map 函数的作用是对可迭代对象中的每个元素应用一个函数,并返回一个________。
    答案:迭代器

  2. filter 函数的作用是根据函数的返回值(True 或 False)过滤可迭代对象中的元素,并返回一个________。
    答案:迭代器

  3. reduce 函数的作用是对可迭代对象中的元素进行________计算。
    答案:累积

  4. sorted 函数的 key 参数用于指定一个函数来提取________。
    答案:比较键

  5. 以下代码的输出是________。

    python 复制代码
    numbers = [1, 2, 3, 4]
    result = list(map(lambda x: x + 1, numbers))
    print(result)

    答案:[2, 3, 4, 5]

  6. 以下代码的输出是________。

    python 复制代码
    numbers = [1, 2, 3, 4, 5]
    result = list(filter(lambda x: x > 3, numbers))
    print(result)

    答案:[4, 5]

  7. 以下代码的输出是________。

    python 复制代码
    from functools import reduce
    numbers = [1, 2, 3, 4]
    result = reduce(lambda x, y: x * y, numbers, 1)
    print(result)

    答案:24

  8. 以下代码的输出是________。

    python 复制代码
    words = ["apple", "banana", "cherry"]
    result = sorted(words, key=lambda x: len(x), reverse=True)
    print(result)

    答案:['banana', 'cherry', 'apple']

  9. 以下代码的输出是________。

    python 复制代码
    numbers = [1, 2, 3, 4]
    result = list(map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, numbers)))
    print(result)

    答案:[4, 16]

  10. 以下代码的输出是________。

    python 复制代码
    from functools import partial
    def power(base, exponent):
        return base ** exponent
    cube = partial(power, exponent=3)
    print(cube(2))

    答案:8


三、编程题(每题 8 分,共 40 分)

  1. 编写一个函数 square_even_numbers,接受一个整数列表,返回所有偶数的平方组成的列表。
    答案:

    python 复制代码
    def square_even_numbers(numbers):
        return list(map(lambda x: x ** 2, filter(lambda x: x % 2 == 0, numbers)))
  2. 编写一个函数 sum_of_squares,使用 reduce 计算列表中所有元素的平方和。
    答案:

    python 复制代码
    from functools import reduce
    def sum_of_squares(numbers):
        return reduce(lambda x, y: x + y ** 2, numbers, 0)
  3. 编写一个函数 sort_by_length,接受一个字符串列表,按字符串长度排序。
    答案:

    python 复制代码
    def sort_by_length(words):
        return sorted(words, key=lambda x: len(x))
  4. 编写一个函数 create_multiplier,接受一个因子 factor,返回一个函数,该函数可以将输入的数乘以 factor。
    答案:

    python 复制代码
    def create_multiplier(factor):
        return lambda x: x * factor
  5. 编写一个函数 fibonacci,使用 lru_cache 装饰器优化斐波那契数列的计算。
    答案:

    python 复制代码
    from functools import lru_cache
    @lru_cache(maxsize=None)
    def fibonacci(n):
        if n < 2:
            return n
        return fibonacci(n-1) + fibonacci(n-2)

总分:100 分

相关推荐
马良神笔13 分钟前
2026 年Rag最近技术前沿总结
后端·python·django
不像程序员的程序媛41 分钟前
maven基础
python·pycharm·maven
德思特2 小时前
2026 低空经济无人机与 eVTOL GNSS 模拟器选型指南:四大硬核标准与设备推荐
经验分享·gnss
xiaogai_gai2 小时前
仅查询策略实战:从金蝶云·星空旗舰版定时拉取收料通知单
大数据·数据库·python
benchmark_cc2 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
恒锐丰科技林技术员2 小时前
EG2103 高压 MOS/IGBT 驱动芯片解析:半桥驱动的高性价比之选
经验分享·嵌入式硬件·硬件工程
const_qiu2 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
知产xiao_xin3 小时前
专利主体及权利归属
经验分享·笔记·知识产权
2601_965384263 小时前
从微生态与流体力学视角看:“口水臭”的系统级成因与清洁边界
经验分享·笔记
估值探索者3 小时前
【Python量化选股流水线 #04】选股器好不好用?「昨日候选→今日表现」回看验收
开发语言·python·股票数据·股票数据api接口