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

news2025/1/27 6:49:56

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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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. 以下代码的输出是什么?

    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 函数的作用是根据函数的返回值(TrueFalse)过滤可迭代对象中的元素,并返回一个________。
    答案:迭代器

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

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

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

    numbers = [1, 2, 3, 4]
    result = list(map(lambda x: x + 1, numbers))
    print(result)
    

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

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

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

    答案:[4, 5]

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

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

    答案:24

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

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

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

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

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

    答案:[4, 16]

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

    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,接受一个整数列表,返回所有偶数的平方组成的列表。
    答案:

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

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

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

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

    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 分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2283822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「 机器人 」仿生扑翼飞行器中的“被动旋转机制”概述

前言 在仿生扑翼飞行器的机翼设计中,模仿昆虫翼的被动旋转机制是一项关键技术。其核心思想在于:机翼旋转角度(攻角)并非完全通过主动伺服来控制,而是利用空气动力和惯性力的作用,自然地实现被动调节。以下对这种设计的背景、原理与优势进行详细说明。 1. 背景:昆虫的被动…

Android GLSurfaceView 覆盖其它控件问题 (RK平台)

平台 涉及主控: RK3566 Android: 11/13 问题 在使用GLSurfaceView播放视频的过程中, 增加了一个播放控制面板, 覆盖在视频上方. 默认隐藏setVisibility(View.INVISIBLE);点击屏幕再显示出来. 然而, 在RK3566上这个简单的功能却无法正常工作. 通过缩小视频窗口可以看到, 实际…

【C++】类和对象(五)

1、初始化列表 作用&#xff1a;C提供了初始化列表语法&#xff0c;用来初始化属性。 语法&#xff1a; 构造函数&#xff08;&#xff09;&#xff1a;属性1&#xff08;值1&#xff09;&#xff0c;属性2&#xff08;值2&#xff09;...{}示例&#xff1a; #include<i…

Maven的下载安装配置

maven的下载安装配置 maven是什么 Maven 是一个用于 Java 平台的 自动化构建工具&#xff0c;由 Apache 组织提供。它不仅可以用作包管理&#xff0c;还支持项目的开发、打包、测试及部署等一系列行为 Maven的核心功能 项目构建生命周期管理&#xff1a;Maven定义了项目构建…

Mysql主从复制+MHA实验笔记[特殊字符]

目录 基本概念 工作原理 优势 环境准备&#xff1a;四台centos-其中三台mysql&#xff0c;一台MHA 配置一主两从 安装MHA 配置无密码认证 配置MHA 模拟master故障 基本概念 MySQL 主从复制&#xff1a;是 MySQL 数据库中实现数据冗余、数据备份和高可用性的重要技术手…

面向长文本的多模型协作摘要架构:多LLM文本摘要方法

多LLM摘要框架在每轮对话中包含两个基本步骤:生成和评估。这些步骤在多LLM分散式摘要和集中式摘要中有所不同。在两种策略中,k个不同的LLM都会生成多样化的文本摘要。然而在评估阶段,多LLM集中式摘要方法使用单个LLM来评估摘要并选择最佳摘要,而分散式多LLM摘要则使用k个LLM进行…

Python中容器类型的数据(上)

若我们想将多个数据打包并且统一管理&#xff0c;应该怎么办? Python内置的数据类型如序列(列表、元组等)、集合和字典等可以容纳多项数据&#xff0c;我们称它们为容器类型的数据。 序列 序列 (sequence) 是一种可迭代的、元素有序的容器类型的数据。 序列包括列表 (list)…

[Qt]系统相关-网络编程-TCP、UDP、HTTP协议

目录 前言 一、UDP网络编程 1.Qt项目文件 2.UDP类 QUdpSocket QNetworkDatagram 3.UDP回显服务器案例 细节 服务器设计 客户端设计 二、TCP网络编程 1.TCP类 QTcpServer QTcpSocket 2.TCP回显服务器案例 细节 服务器设计 客户端设计 三、HTTP客户端 1.HTTP…

信息系统管理工程师第6-8章精讲视频及配套千题通关双双发布,附第14章思维导图

这一周发文少&#xff0c;不是我在偷懒&#xff0c;而是在和信管的视频及千题通关“”浴血奋战 &#xff0c;特别是第8章卡了我很久&#xff0c;因为内容实在太多&#xff0c;精讲视频估计都差不多4个小时了&#xff0c;还好终于在春节前拿下&#xff0c;提供给小分队的同学&am…

npm启动前端项目时报错(vue) error:0308010C:digital envelope routines::unsupported

vue 启动项目时&#xff0c;npm run serve 报下面的错&#xff1a; error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:67:19) at Object.createHash (node:crypto:133:10) at FSReqCallback.readFileAfterClose [as on…

Excel 技巧21 - Excel中整理美化数据实例,Ctrl+T 超级表格(★★★)

本文讲Excel中如何整理美化数据的实例&#xff0c;以及CtrlT 超级表格的常用功能。 目录 1&#xff0c;Excel中整理美化数据 1-1&#xff0c;设置间隔行颜色 1-2&#xff0c;给总销量列设置数据条 1-3&#xff0c;根据总销量设置排序 1-4&#xff0c;加一个销售趋势列 2&…

力扣算法题——11.盛最多水的容器

目录 &#x1f495;1.题目 &#x1f495;2.解析思路 本题思路总览 借助双指针探索规律 从规律到代码实现的转化 双指针的具体实现 代码整体流程 &#x1f495;3.代码实现 &#x1f495;4.完结 二十七步也能走完逆流河吗 &#x1f495;1.题目 &#x1f495;2.解析思路…

微服务学习-服务调用组件 OpenFeign 实战

1. OpenFeign 接口方法编写规范 1.1. 在编写 OpenFeign 接口方法时&#xff0c;需要遵循以下规范 1.1.1.1. 接口中的方法必须使用 RequestMapping、GetMapping、PostMapping 等注解声明 HTTP 请求的类型。 1.1.1.2. 方法的参数可以使用 RequestParam、RequestHeader、PathVa…

Java Web-Tomcat Servlet

Web服务器-Tomcat Web服务器简介 Web 服务器是一种软件程序&#xff0c;它主要用于在网络上接收和处理客户端&#xff08;如浏览器&#xff09;发送的 HTTP 请求&#xff0c;并返回相应的网页内容或数据。以下是关于 Web 服务器的详细介绍&#xff1a; 功能 接收请求&#…

深度解析:基于Vue 3的教育管理系统架构设计与优化实践

一、项目架构分析 1. 技术栈全景 项目采用 Vue 3 TypeScript Tailwind CSS 技术组合&#xff0c;体现了现代前端开发的三大趋势&#xff1a; 响应式编程&#xff1a;通过Vue 3的Composition API实现细粒度响应 类型安全&#xff1a;约60%的组件采用TypeScript编写 原子化…

CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据)

CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测&#xff08;Matlab完整源码和数据&#xff09; 目录 CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测&#xff08;Matlab完整源码和数据&#xff09;预测效果基本介绍 CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测一…

docker安装MySQL8:docker离线安装MySQL、docker在线安装MySQL、MySQL镜像下载、MySQL配置、MySQL命令

一、镜像下载 1、在线下载 在一台能连外网的linux上执行docker镜像拉取命令 docker pull mysql:8.0.41 2、离线包下载 两种方式&#xff1a; 方式一&#xff1a; -&#xff09;在一台能连外网的linux上安装docker执行第一步的命令下载镜像 -&#xff09;导出 # 导出镜…

Boot 系统选择U启动

1.进入Boot 系统 F2 或 Del Boot --->Boot 0ption Priorities #4 KingstwongDataTravele 是U盘 调整搭到#1 2.保持重启就好

9.中断系统、EXTI外部中断

中断系统原理 中断 中断系统是管理和执行中断的逻辑结构&#xff0c;外部中断是众多能产生中断的外设之一&#xff0c;所以本节我们就借助外部中断来学习一下中断系统。在以后学习其它外设的时候&#xff0c;也是会经常和中断打交道的。 中断&#xff1a;在主程序运行过程中…

RocketMQ原理—4.消息读写的性能优化

大纲 1.Producer基于队列的消息分发机制 2.Producer基于Hash的有序消息分发 3.Broker如何实现高并发消息数据写入 4.RocketMQ读写队列的运作原理分析 5.Consumer拉取消息的流程原理分析 6.ConsumeQueue的随机位置读取需求分析 7.ConsumeQueue的物理存储结构设计 8.Cons…