当前位置: 首页 > article >正文

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

    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 * factorreturn 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 nreturn 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 nreturn fibonacci(n-1) + fibonacci(n-2)
    

总分:100 分

相关文章:

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

Python3 【高阶函数】水平考试&#xff1a;30道精选试题和答案 试卷说明 本试卷包含&#xff1a;选择题&#xff1a;15 道、填空题&#xff1a;10 道和 编程题&#xff1a;5 道&#xff0c;总分 100 分。每道题后附有答案和解析。 高阶函数测试试卷 满分&#xff1a;100 分 …...

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

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

在win11下搭建ios开发环境

就是安装VMware&#xff0c;然后安装mac虚拟机。 主要参考了这一篇&#xff1a;windows上安装macOS系统虚拟机_windows安装macos虚拟机-CSDN博客 还参考了这一篇&#xff1a;【保姆级别教程】VMware虚拟机安装Mac OS15苹果系统附带【VMware TooLS安装】【解锁虚拟机】和【Mac…...

Maven的下载安装配置

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

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

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

vue3中自定一个组件并且能够用v-model对自定义组件进行数据的双向绑定

1. 基础用法 在 Vue3 中&#xff0c;v-model 在组件上的使用有了更灵活的方式。默认情况下&#xff0c;v-model 使用 modelValue 作为 prop&#xff0c;update:modelValue 作为事件。 1.1 基本示例 <!-- CustomInput.vue --> <template><input:value"mo…...

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

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

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

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

Spring MVC中HandlerInterceptor和Filter的区别

目录 一、处理阶段 二、功能范围 三、参数访问 四、配置方式 五、使用场景说明 在Spring MVC中&#xff0c;HandlerInterceptor和Filter都是用于拦截请求的重要组件&#xff0c;但它们在多个方面存在显著的差异。本文将详细解析这两种拦截机制的区别&#xff0c;并结合使用…...

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

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

wow-agent---task4 MetaGPT初体验

先说坑&#xff1a; 1.使用git clone模式安装metagpt 2.模型尽量使用在线模型或本地高参数模型。 这里使用python3.10.11调试成功 一&#xff0c;安装 安装 | MetaGPT&#xff0c;参考这里的以开发模型进行安装 git clone https://github.com/geekan/MetaGPT.git cd /you…...

信息系统管理工程师第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…...

PDF2WORD万能方法,如何控制Adobe dc pro,自动实现PDF转word

如何用JavaScript控制Adobe DC Pro来自动实现PDF转Word。首先&#xff0c;我需要考虑Adobe DC Pro是否有公开的API或者扩展接口。我记得Adobe Acrobat Pro DC支持JavaScript&#xff0c;但主要是用于表单处理和文档操作&#xff0c;比如Acrobat JavaScript。不过&#xff0c;自…...

Java Web-Tomcat Servlet

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

寒假学web--day09

简介 一些魔法函数与php反序列化漏洞 tips 反序列化和类的方法无关&#xff0c;不能把类的方法序列化 将php.exe所在目录放到环境变量中&#xff0c;就可以在终端里通过php.exe ./命令来执行php代码 魔术方法 __construct() 在实例化一个对象时会自动调用&#xff0c;可…...

深度解析:基于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卷积双向长短期记忆神经网络时间序列预测一…...

mysql_store_result的概念和使用案例

mysql_store_result() 是 MySQL C API 中的一个函数&#xff0c;用于检索一个完整的结果集到一个客户端。当执行一个查询&#xff08;通常是 SELECT 查询&#xff09;并希望处理所有返回的数据时&#xff0c;可以使用此函数。 概念 mysql_store_result() 函数的原型如下&…...

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;导出 # 导出镜…...

黑盒/白盒运维监控

运维监控分为黑盒和白盒 黑盒&#xff1a;不深入代码&#xff0c;在系统角度看TPS&#xff0c;延迟等指标 白盒&#xff1a;深入代码分析&#xff0c;通过日志捕捉&#xff0c;以及主动上报告警等来进行监控 黑盒监控&#xff1a; 1. 页面功能&#xff1a;域名是否可访问&…...

奖励模型:解析大语言模型的关键工具

标题&#xff1a;奖励模型&#xff1a;解析大语言模型的关键工具 文章信息摘要&#xff1a; 奖励模型是理解和审核大语言模型(LLM)的重要工具&#xff0c;通过简单的评估方式提供了模型内部表征和性能的深入洞察。它不仅能静态比较模型表现&#xff0c;还可帮助诊断训练问题&a…...

Boot 系统选择U启动

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

001 mybatis入门

文章目录 mybatis是什么ORM是什么ORM框架和MyBatis的区别#{}和${}的区别编码流程UserDaoImpl.javaUserDao.javaUser.javadb.propertiesSqlMapConfig.xmlUserMapper.xmlMybatisTest.javapom.xmluser.sql 表现层 SpringMVC 业务层 Spring 持久层 Mybatis https://mybatis.org/myb…...

【前端SEO】使用Vue.js + Nuxt 框架构建服务端渲染 (SSR) 应用满足SEO需求

Nuxt.js 是一个基于 Vue.js 的通用应用框架&#xff0c;它简化了使用 Vue 构建服务端渲染 (SSR) 应用的流程。除了 SSR 之外&#xff0c;Nuxt.js 还支持静态站点生成&#xff08;Static Site Generation, SSG&#xff09;&#xff0c;渐进式网络应用&#xff08;Progressive We…...