Python语法基础(四)

🌈个人主页:羽晨同学
💫个人格言:“成为自己未来的主人~”

高阶函数之map
高阶函数就是说,A函数作为B函数的参数,B函数就是高阶函数
map:映射
map(func,iterable)
这个是map的基本语法,它的返回值是一个iterator,返回一个容器和迭代器。
我们来看下面的这一段代码
list1 =[n**2 for n in range(1,6)]
print(list1)
在这段代码中,我们将生成的元素放入了列表当中,然后我们打印这个列表。

这个是这个代码执行出来的结果。
此时,若我们不放在list当中,而是存放到一个变量当中,然后打印这个变量,我们来看看打印出来的是什么?
r1=(n**2 for n in range(1,6))
print(r1) # <generator object <genexpr> at 0x000002548E2998A0>

这个时候的r1,就是一个生成器
如果我们还想要访问这个生成器当中的元素,我们需要再放入列表当中。
print(list(r1))
然后,我们执行代码。

我们可以看到,里面的值被打印了出来。
而对应的,我们定义一个函数。
def func1(x):return x**2
rl1 = map(func1,range(1,6))
print(rl1) # <map object at 0x00000178A7BEAC50>
这个时候打印出来的值为:# <map object at 0x00000178A7BEAC50>
如果我们想要得到里面的数字,我们就需要将它也放到列表当中去。
print(list(rl1))
我们除了定义这个函数,我们也可以采用匿名函数的方式。
# 匿名函数
rl2=map(lambda x:x**2,range(1,6))
print(rl2)
如果我们想要传入多个参数呢?我们应该怎么进行操作。
# 2.
def func2(a,b):print(a,b)return a+b
r21 = map(func2,[1,2,3],[4,5,6])

这个是我们对应的执行结果。
若是我们将这个换成匿名函数,则应该写成下面这样子。
r22=map(lambda a,b:a+b,[1,2,3],[4,5,6])
print(list(r22))
map中的func函数需要设置几个参数,取决于有几个iterable参与运算
map的工作原理是将多个iterable想用位置的元素同时传参给func
高阶函数之reduced
语法:
reduced(func,sex)
sex一般是有序的序列
首先将sex中的第0个元素和第一个元素传递给func,进行运算,返回结果1,接着,将结果1和第二个元素传递给func,进行运算,返回结果2,直到所有的元素都参与了运算,表示运算结束。
需要注意的有下面几点:
- func函数需要设置至少两个参数
- 表示数量的减少
- 区别于map,reduced在使用之前一定要先导入
导入模块如下:
import functools
functools.reduce()
我们接下来做个例子:
求1-100之间所有整数的和
r1 = functools.reduce(func1,range(1,101))
print(r1) # 5050r2=functools.reduce(lambda x,y:x+y,range(1,101))
print(r2)
这样子的话,我们就可以完美的实现这个功能。
高阶函数之sorted
我们之前学过在python中利用sort进行排序,我们来举一个例子:
list1=[34,637,234,2,6,89]
list1.sort()
print(list1)
利用这个代码,我们就可以实现列表从低到高的排序。
那么,利用sorted,我们也可以这样,我们来看下面的这一段代码
list1=[34,637,234,2,6,89]
list2=sorted(list1,reverse=False)
print(list1)
print(list2)

你看,这个代码,我们也完美实现了我们想要的功能,那么,这两个有什么区别呢?
其实你看我们的代码也可以看出来,当使用sorted的时候,我们可以将排序好的赋值到一个新的变量中,而原来变量中值并不会发生改变。
高阶函数之fliter()
语法:
高阶函数之filter()
filter(func,iterable): 过滤func:函数itearble:可迭代对象
这个函数的作用是将iterable中的元素依次传递给func,根据func的返回值来决定是否保留这个元素,如果返回值是True,那么就保留,反之,就不保留。
我们来看一个例子:
# 1. 已知列表list1 =[34,56,23,34,7,8,19,45,7,9,10,46,7979] 跳出其中的偶数
list1 =[34,56,23,34,7,8,19,45,7,9,10,46,7979]
def func1(x):if x %2==0:return Trueelse:return False
it = filter(func1,list1)
print(list(it))
我们也可以使用匿名函数来实现这个功能:
r2=filter(lambda x:x % 2==0,list1)
print(r2)
好了,我们这篇文章的内容就到这里,我们下次再见。

相关文章:
Python语法基础(四)
🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 高阶函数之map 高阶函数就是说,A函数作为B函数的参数,B函数就是高阶函数 map:映射 map(func,iterable) 这个是map的基本语法,…...
03_Django视图
三、Django模板 模板Templates 在Django框架中,模板是可以帮助开发者快速生成呈现给用户页面的工具 模板的设计方式实现了我们MVT中VT的解耦(M:Model,V:View,T:Template),VT有着N:M的关系,一个V可以调用任意T…...
如何从 Hugging Face 数据集中随机采样数据并保存为新的 Arrow 文件
如何从 Hugging Face 数据集中随机采样数据并保存为新的 Arrow 文件 在使用 Hugging Face 的数据集进行模型训练时,有时我们并不需要整个数据集,尤其是当数据集非常大时。为了节省存储空间和提高训练效率,我们可以从数据集中随机采样一部分数…...
11 设计模式之代理模式(送资料案例)
一、什么是代理模式? 在现实生活中,我们常常遇到这样的场景:由于某些原因,我们可能无法亲自完成某个任务,便会委托他人代为执行。在设计模式中,代理模式 就是用来解决这种“委托”问题的࿰…...
MongoDB聚合操作
1.聚合操作 聚合操作处理数据记录并返回计算结果。聚合操作组值来自多个文档,可以对分组数据执行各种操作以返回单个结果。聚合操作包含三类:单一作用聚合、聚合管道、MapReduce。 单一作用聚合:提供了对常见聚合过程的简单访问,…...
第二十三周周报:High-fidelity Person-centric Subject-to-Image Synthesis
目录 摘要 Abstract TDM SDM SNF 测试时的人物细节捕捉 主要贡献 总结 摘要 本周阅读了一篇2024年CVPR的关于高保真度、以人物为中心的图像合成方法的论文:High-fidelity Person-centric Subject-to-Image Synthesis。该论文提出了一种名为Face-diffuser的…...
Cesium 与 Leaflet:地理信息可视化技术比较
在现代地理信息系统(GIS)和空间数据可视化领域,Cesium 和 Leaflet 是两种非常常见的地理可视化库,它们各自适用于不同的应用场景。Cesium 专注于三维地球视图和复杂空间分析,而 Leaflet 则注重轻量级的二维地图展示。本文将对这两种技术进行详细的对比,帮助开发者根据具体…...
Linux 服务器使用指南:诞生与演进以及版本(一)
一、引言 在当今信息技术的浪潮中,Linux 操作系统无疑是一个关键的支柱😎。无论是在服务器管理、软件开发还是大数据处理领域,Linux 都以其卓越的适应性和优势脱颖而出👍。然而,对于许多新手而言,Linux 系统…...
龙蜥 Linux 安装 JDK
龙蜥 Linux 安装 JDK 下载安装解压到目标路径设置环境变量直接在启动脚本中临时设置 参考资料 下载 这个就不赘述了,参考资料中的另外两篇安装帖,都有。 如果不能上网,也可以去内网其他之前装过JDK的服务器,直接复制过来。 tar …...
Python小白语法基础20(模块与包)
0) 参考文章 python的模块(module)、包(package)及pip_python package-CSDN博客Python之函数、模块、包库_python函数、模块和包-CSDN博客Python函数模块自定义封装及模块嵌套导入(手把手教程)_python如何封装一个模块-CSDN博客 1) 模块与包说明 软件…...
详解 Qt QtPDF之QPdfPageNavigator 页面跳转
文章目录 前言头文件: 自 Qt 6.4 起继承自: 属性backAvailable : const boolcurrentLocation : const QPointFcurrentPage : const intcurrentZoom : const qrealforwardAvailable : const bool 公共函数QPdfPageNavigator(QObject *parent)virtual ~QPd…...
通俗易懂:序列标注与命名实体识别(NER)概述及标注方法解析
目录 一、序列标注(Sequence Tagging)二、命名实体识别(Named Entity Recognition,NER)**命名实体识别的作用****命名实体识别的常见实体类别** : 三、标签类型四、序列标注的三种常见方法1. **BIO…...
【C语言】二叉树(BinaryTree)的创建、3种递归遍历、3种非递归遍历、结点度的实现
代码主要实现了以下功能: 二叉树相关数据结构定义 定义了二叉树节点结构体 BiTNode,包含节点数据值(字符类型)以及指向左右子树的指针。 定义了顺序栈结构体 SqStack,用于存储二叉树节点指针,实现非递归遍历…...
2024年11月文章一览
2024年11月编程人总共更新了21篇文章: 1.2024年10月文章一览 2.《使用Gin框架构建分布式应用》阅读笔记:p307-p392 3.《使用Gin框架构建分布式应用》阅读笔记:p393-p437 4.《使用Gin框架构建分布式应用》读后感 5.《Django 5 By Example…...
重生之我在异世界学编程之C语言:二维数组篇
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文一 二维数组的创建1. 二维数组的…...
和鲸科技创始人CEO范向伟出席首届工业智算产业发展研讨会,共话 AI 创新与产业化落地
11 月 22 日,首届工业智算产业发展研讨会在中国工业互联网研究院召开。工业和信息化部党组成员、副部长单忠德,国家信息中心大数据发展部副主任魏颖出席会议并致辞。中国工程院院士、北京化工大学教授高金吉,工业和信息化部信息通信发展司二级…...
postgres数据备份与主从配置
备份PostgreSQL数据库 备份格式有几种选择: bak:压缩二进制格式 sql:明文转储 tar: tarball mydb# \q -bash-4.2$ pg pgawk pg_dump pgrep pg_basebackup pg_dumpall pg_restore# 备份所有的 -bash-4.2$ pg_dumpall &…...
【二分查找】力扣 275. H 指数 II
一、题目 二、思路 h 指数是高引用引用次数,而 citations 数组中存储的就是不同论文被引用的次数,并且是按照升序排列的。也就是说 h 指数将整个 citations 数组分成了两部分,左半部分是不够引用 h 次 的论文,右半部分论文的引用…...
使用uni-app进行开发前准备
使用uni-app进行开发,需要遵循一定的步骤和流程。以下是一个详细的指南,帮助你开始使用uni-app进行开发: 一、开发环境搭建 安装Node.js: 首先,从Node.js的官方网站(https://nodejs.org/)下载并…...
AI开发-深度学习框架-PyTorch-torchnlp
1 需求 Welcome to Pytorch-NLP’s documentation! — PyTorch-NLP 0.5.0 documentation 2 接口 3 示例 4 参考资料...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
