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

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语法基础(四)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 高阶函数之map 高阶函数就是说&#xff0c;A函数作为B函数的参数&#xff0c;B函数就是高阶函数 map&#xff1a;映射 map(func,iterable) 这个是map的基本语法&#xff0c;…...

UnityShader——初级篇之开始Unity Shader学习之旅

开始Unity Shader学习之旅 一个最简单的顶点/片元着色器顶点/片元着色器的基本结构模型数据从哪里来顶点着色器和片元着色器之间如何通信如何使用属性 强大的援手&#xff1a;Unity 提供的内置文件和变量内置的包含文件内置的变量 Unity 提供的 Cg/HLSL 语义什么是语义Unity 支…...

Burp入门(6)-自动化漏洞测试理论

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 声明&#xff1a;本文主要用作技术分享&#xff0c;所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险&#xff0c;并遵循相关法律法规。 感谢泷…...

【git】git 客户端设置本地缓冲区大小

文章目录 1. 报错2. 解决&#xff1a;增加本地缓冲区 1. 报错 git -c core.quotepathfalse -c log.showSignaturefalse push --progress --porcelain origin refs/heads/master:master Enumerating objects: 17, done. Counting objects: 5% (1/17) Counting objects: 11% …...

Xcode——LLDB Debugger 与断点调试学习

Xcode——LLDB Debugger 与断点调试学习 文章目录 Xcode——LLDB Debugger 与断点调试学习前言介绍打开LLDB命令helpprintexpression 断点调试异常断点——Exception Breakpoint标志断点——Symbolic Breakpointwatchpointset 断点行为condition条件判断 最后参考文章 前言 在…...

linux安全管理-系统环境安全

1 历史命令设置 1、检查内容 检查操作系统的历史命令设置。 2、配置要求 建议操作系统的历史命令设置。 3、配置方法 编辑/etc/profile 文件&#xff0c;配置保留历史命令的条数 HISTSIZE 和保留历史命令的记录文件大小 HISTFILESIZE&#xff0c;这两个都设置为 5。 配置方法如…...

【Maven】依赖冲突如何解决?

准备工作 1、创建一个空工程 maven_dependency_conflict_demo&#xff0c;在 maven_dependency_conflict_demo 创建不同的 Maven 工程模块&#xff0c;用于演示本文的一些点。 什么是依赖冲突&#xff1f; 当引入同一个依赖的多个不同版本时&#xff0c;就会发生依赖冲突。…...

学习视频超分辨率扩散模型中的空间适应和时间相干性(原文翻译)

文章目录 摘要1. Introduction2. Related Work3. Our Approach3.1. Video Upscaler3.2. Spatial Feature Adaptation Module3.3. Temporal Feature Alignment Module3.4. Video Refiner3.5. Training Strategy 4. Experiments4.1. Experimental Settings4.2. Comparisons with …...

MFC工控项目实例三十四模拟量实时监控数字显示效果

点击监控按钮&#xff0c;对选中模拟量用数字显示效果实时显示数值。 SenSet.cpp中相关代码 UINT m_nCounterID_1[6] { IDC_STATIC0,IDC_STATIC1,IDC_STATIC2,IDC_STATIC3,IDC_STATIC4,IDC_STATIC5,};UINT m_nCounterID_2[7] { IDC_STATIC7,IDC_STATIC8,IDC_STATIC9,IDC_S…...

Z2400032基于Java+Mysql+SSM的校园在线点餐系统的设计与实现 代码 论文

在线点餐系统 1.项目描述2. 技术栈3. 项目结构后端前端 4. 功能模块5. 项目实现步骤注意事项 6.界面展示7.源码获取 1.项目描述 本项目旨在开发一个校园在线点餐系统&#xff0c;通过前后端分离的方式&#xff0c;为在校学生提供便捷的餐厅点餐服务&#xff0c;同时方便餐厅和…...

Linux Deploy安装Debian桌面

下载安装Linux Deploy 下载地址 https://github.com/lateautumn233/Linuxdeploy-Pro/releases/download/3.1.0/app-debug.apk 配置 发行版本&#xff1a;Debian架构&#xff1a;arm64发行版版本&#xff1a;bookworm源地址&#xff1a;http://mirrors.aliyun.com/debian/安装…...

C语言数据相关知识:静态数据、越界与溢出

1、静态数组 在 C 语言中&#xff0c;数组一旦被定义后&#xff0c;占用的内存空间就是固定的&#xff0c;容量就是不可改变的&#xff0c;既不能在任何位置插入元素&#xff0c;也不能在任何位置删除元素&#xff0c;只能读取和修改元素&#xff0c;我们将这样的数组称为静态…...

纯Go语言开发人脸检测、瞳孔/眼睛定位与面部特征检测插件-助力GoFly快速开发框架

前言​ 开发纯go插件的原因是因为目前 Go 生态系统中几乎所有现有的人脸检测解决方案都是纯粹绑定到一些 C/C 库&#xff0c;如 ​​OpenCV​​ 或 ​​​dlib​​​&#xff0c;但通过 ​​​cgo​​​ 调用 C 程序会引入巨大的延迟&#xff0c;并在性能方面产生显著的权衡。…...

华为ACL应用笔记

1、基本ACL 2000-2999 基本ACL&#xff08;Access Control List&#xff0c;访问控制列表&#xff09;是一种网络安全技术&#xff0c;它根据源IP地址、分片信息和生效时间段等信息来定义规则&#xff0c;对报文进行过滤。 规则&#xff1a; ACL由一系列规则组成&#xff0c;每…...

Axios:现代JavaScript HTTP客户端

在当今的Web开发中&#xff0c;与后端服务进行数据交换是必不可少的。Axios是一个基于Promise的HTTP客户端&#xff0c;用于浏览器和node.js&#xff0c;它提供了一个简单的API来执行HTTP请求。本文将介绍Axios的基本概念、优势、安装方法、基本用法以及如何使用Axios下载文件。…...

Qml-TabBar类使用

Qml-TabBar类使用 TabBar的概述 TabBar继承于Container 由TabButton进行填充&#xff0c;可以与提供currentIndex属性的任何容器或布局控件一起使用&#xff0c;如StackLayout 或 SwipeView&#xff1b;contentHeight : real:TabBar的内容高度&#xff0c;用于计算标签栏的隐…...

qt QGraphicsEllipseItem详解

1、概述 QGraphicsEllipseItem是Qt框架中QGraphicsItem的一个子类&#xff0c;它提供了一个可以添加到QGraphicsScene中的椭圆项。QGraphicsEllipseItem表示一个带有填充和轮廓的椭圆&#xff0c;也可以用于表示椭圆段&#xff08;通过startAngle()和spanAngle()方法&#xff…...

单链表---移除链表元素

对于无头单向不循环链表&#xff0c;给出头结点head与数值val&#xff0c;删除链表中数据值val的所有结点 #define ListNodeDataType val struct ListNode { struct ListNode* psll;ListNodeDataType val; } 方法一---遍历删除 移除所有数值为val的链表结点&#xff0c;…...

Kafka知识体系

一、认识Kafka 1. kafka适用场景 消息系统&#xff1a;kafka不仅具备传统的系统解耦、流量削峰、缓冲、异步通信、可扩展性、可恢复性等功能&#xff0c;还有其他消息系统难以实现的消息顺序消费及消息回溯功能。 存储系统&#xff1a;kafka把消息持久化到磁盘上&#xff0c…...

Micopython与旋转按钮(Encoder)

一、 encoder.py文件 CLK pin attached to GPIO12DT pin attached to GPIO13GND pin attached to GND 旋转编码器s1->CLK s2->DTimport time from rotary_irq_esp import RotaryIRQ r = RotaryIRQ(pin_num_clk=12, #clk引脚 pin_num_dt=13, #dat…...

联想Lenovo SR650服务器硬件监控指标解读

随着企业IT架构的复杂性和业务需求的增长&#xff0c;服务器的稳定运行变得至关重要。联想Lenovo SR650服务器以其高性能和稳定性&#xff0c;在各类应用场景中发挥着关键作用。为了保障服务器的稳定运行&#xff0c;监控易作为一款专业的IT基础设施监控软件&#xff0c;为联想…...

RAG数据拆分之PDF

引言RAG数据简介PDF解析方法及工具代码实现总结 二、正文内容 引言 本文将介绍如何将RAG数据拆分至PDF格式&#xff0c;并探讨PDF解析的方法和工具&#xff0c;最后提供代码示例。 RAG数据简介 RAG&#xff08;关系型属性图&#xff09;是一种用于表示实体及其关系的图数据…...

基于STM32的传感器数据采集系统设计:Qt、RS485、Modbus Rtu协议(代码示例)

一、项目概述 项目目标与用途 本项目旨在设计并实现一个基于STM32F103RCT6微控制器的传感器数据采集系统。该系统通过多个传感器实时监测环境参数&#xff0c;并将采集到的数据传输至上位机进行处理和分析。系统的主要应用领域包括环境监测、工业控制、智能家居等。通过该系统…...

【计网不挂科】计算机网络——<34道经典简述题>特训

前言 大家好吖&#xff0c;欢迎来到 YY 滴计算机网络 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的计算机网络题目&#xff0c;供yy应对期中考试复习。大家可以参考 本章为分章节的习题内容题库&#x…...

Spring Web开发(请求)获取JOSN对象| 获取数据(Header)

大家好&#xff0c;我叫小帅今天我们来继续Spring Boot的内容。 文章目录 1. 获取JSON对象2. 获取URL中参数PathVariable3.上传⽂件RequestPart3. 获取Cookie/Session3.1 获取和设置Cookie3.1.1传统获取Cookie3.1.2简洁获取Cookie 3. 2 获取和存储Session3.2.1获取Session&…...

算法训练营day22(二叉树08:二叉搜索树的最近公共祖先,插入,删除)

第六章 二叉树part08 今日内容&#xff1a; ● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点 详细布置 235. 二叉搜索树的最近公共祖先 相对于 二叉树的最近公共祖先 本题就简单一些了&#xff0c;因为 可以利用二叉搜索树的…...

【论文阅读】 Learning to Upsample by Learning to Sample

论文结构目录 一、之前的上采样器二、DySample概述三、不同上采样器比较四、整体架构五、设计过程&#xff08;1&#xff09;初步设计&#xff08;2&#xff09;第一次修改&#xff08;3&#xff09;第二次修改&#xff08;4&#xff09;第三次修改 六、DySample四种变体七、复…...

Android 图形系统之五:Gralloc

Gralloc (Graphics Allocator) 是 Android 系统中的关键组件之一&#xff0c;用于管理图形缓冲区的分配、映射以及处理。在 Android 的图形架构中&#xff0c;Gralloc 充当了 HAL (Hardware Abstraction Layer) 的一部分&#xff0c;为系统和硬件提供了通用的接口&#xff0c;使…...

【大数据学习 | Spark调优篇】Spark之内存调优

1. 内存的花费 1&#xff09;每个Java对象&#xff0c;都有一个对象头&#xff0c;会占用16个字节&#xff0c;主要是包括了一些对象的元信息&#xff0c;比如指向它的类的指针。如果一个对象本身很小&#xff0c;比如就包括了一个int类型的field&#xff0c;那么它的对象头实…...

Spring Data JPA(一) 基础入门

Spring Data JPA&#xff08;一&#xff09; 基础入门 JPA 的全称是 Java Persistence API , 即 Java 持久层 API。Spring Data JPA 是 Spring 生态中提出的一套数据库 ORM &#xff08;对象关系映射&#xff09;规范、抽象标准&#xff0c;或者说它是对ORM框架实现的顶层抽象…...

Flutter | 基于函数式编程的通用单选列表设计

背景 项目中多次用到如下图的通用单选列表页&#xff1a; 常规封装 此列表需要三样东西&#xff1a; 标题数组当前选中项的 index点击 cell 的回调 封装大体如下&#xff1a; import package:flutter/material.dart;class ListPage1 extends StatefulWidget {const ListPa…...

华三防火墙F1000-AK系列策略路由配置案例(WEB)

1 配置需求或说明 1.1 适用的产品系列 本案例适用于如F1000-AK180、F1000-AK170等F1000-AK系列的防火墙。 1.2 配置需求及实现的效果 防火墙作为网络出口设备,外网有移动和联通两条线路。内网有192.168.1.0和192.168.2.0两个网段,需要实现192.168.1.0网段走移动线路,192…...

Oracle 锁表的解决方法及避免锁表问题的最佳实践

背景介绍 在 Oracle 数据库中&#xff0c;锁表或锁超时相信大家都不陌生&#xff0c;是一个常见的问题&#xff0c;尤其是在执行 DML&#xff08;数据操作语言&#xff09;语句时。当一个会话对表或行进行锁定但未提交事务时&#xff0c;其他会话可能会因为等待锁资源而出现超…...

深度学习中的生成对抗网络(GAN)原理与应用

引言 生成对抗网络&#xff08;Generative Adversarial Network&#xff0c;简称GAN&#xff09;是由Ian Goodfellow等人在2014年提出的一种深度学习模型&#xff0c;它通过对抗训练的方式生成与真实数据分布相似的假数据。GAN的出现极大地推动了深度学习和生成模型的研究&…...

Swing中JScrollPane面板

一、介绍 在设置界面时&#xff0c;可能会遇到在一个较小的容器窗体中显示一个较大部分的内容的情况&#xff0c;这时可使用JScrollPane面板。JScrollPane面板是带滚动条的面板&#xff0c;是一种容器&#xff0c;但是JScrollPane只能放置一个组件&#xff0c;并且不可使用布局…...

【学习笔记】检测基于RTOS的设计中的堆栈溢出-第2部分

有许多技术可用于检测堆栈溢出。有些使用硬件,而有些则完全在软件中执行。正如我们很快将看到的那样,在硬件中具有这种能力到目前为止是更可取的,因为堆栈溢出可以在发生时立即检测到,事实上,可以避免,因为硬件实际上可以防止对无效访问的写入。 硬件堆栈溢出检测机制通…...

PHP 函数

在php中有非常多的函数&#xff0c;函数这种东西不需要记全&#xff0c;直到怎么使用就行了&#xff0c;如果想了解多点函数&#xff0c;可以查看php官方函数手册&#xff0c;或者参考菜鸟PHP 5 Array 函数 | 菜鸟教程。 创建 PHP 函数 通常函数创建完毕后是用来调用。 语法格…...

centos更换源文件,换源,替换源

期初怎么折腾就是不行&#xff0c;换了源也是不能使用的&#xff0c;最后发现不是换的源不行&#xff0c;而是之前的源文件不行&#xff0c;然后给所有的源文件在yum源统一放在了bak目录下&#xff0c;随后我们再去下载安装源文件。 您将yum源下载之后&#xff0c;先将您的其他…...

【深度学习】四大图像分类网络之VGGNet

2014年&#xff0c;牛津大学计算机视觉组&#xff08;Visual Geometry Group&#xff09;和Google DeepMind公司一起研发了新的卷积神经网络&#xff0c;并命名为VGGNet。VGGNet是比AlexNet更深的深度卷积神经网络&#xff0c;该模型获得了2014年ILSVRC竞赛的第二名&#xff0c…...

线性表-链式描述(C++)

链式实现的线性表&#xff1a; 链式实现的线性表&#xff0c;即链表&#xff08;Linked List&#xff09;&#xff0c;是一种通过节点&#xff08;Node&#xff09;的集合来存储数据的线性数据结构。在链表中&#xff0c;每个节点包含两部分&#xff1a;存储数据的域&#xff…...

C++高阶算法[汇总]

&#xff08;一&#xff09;高精度算法概述 高精度算法是指能够处理超出常规数据类型表示范围的数值的算法。在 C 中&#xff0c;标准数据类型通常有固定的位数和精度限制&#xff0c;而高精度算法可以解决大数运算、金融计算和科学计算等领域的问题。 &#xff08;二&#x…...

机器学习之DeepMind推出的DreamerV3

开放域任务强化学习(Open-Ended Task Reinforcement Learning)的目标是使智能体能够在多样化且未见过的任务中表现出色,同时能够实现任务间的迁移学习。这类研究的重点在于开发通用的学习算法,能够在没有明确任务定义的情况下,从环境中学习并推广到新任务。DeepMind的Drea…...

【Zookeeper】四,Zookeeper节点类型、通知、仲裁、会话

文章目录 Zookeeper的架构znode的版本Zookeeper的节点类型层级树状结构znode的不同类型 Zookeeper监视与通知通知的类型 Zookeeper的仲裁Zk的会话会话的生命周期 Zookeeper的架构 Zookeeper的服务器端运行两种模式&#xff1a;独立模式&#xff08;standalone&#xff09;和仲…...

Vue 集成和使用 SQLite 的完整指东

1. 引言 SQLite 是一种轻量级的关系型数据库管理系统&#xff0c;以其简单易用、无需服务器等特点广泛应用于嵌入式系统、移动应用和小型应用程序中。在 Web 开发中&#xff0c;尤其是前端应用开发中&#xff0c;SQLite 可以作为客户端本地存储的一种选择&#xff0c;为用户提…...

CMAKE常用命令详解

NDK List基本用法 Get–获取列表中指定索引的元素 list(Get list_name index output_var)解释 list_name: 要操作集合的名称index: 要取得的元素下标output_var: 保存从集合中取得元素的结果 栗子 list(GET mylist 0 first_element) # 获取第一个元素APPEND–在列表末尾…...

【嵌入式——QT】QT制作安装包

第一步 QT程序写好之后&#xff0c;编译release版本 第二步 拿到release生成的.exe文件 第三步 新建文件夹deploy 第四步 将.exe文件复制到deploy目录下 第五步 在该目录下输入cmd指令&#xff0c;回车 第六步 在打开的命令窗口下输入 windeployqt TegNetCom_1.0.…...

JavaScript 前端开发:从入门到精通的奇幻之旅

目录 一、引言 二、JavaScript 基础 &#xff08;一&#xff09;变量与数据类型 &#xff08;二&#xff09;运算符 &#xff08;三&#xff09;控制结构 三、函数 &#xff08;一&#xff09;函数定义与调用 &#xff08;二&#xff09;函数作用域 &#xff08;三&am…...

shell编程基础笔记

目录 echo改字体颜色和字体背景颜色 bash基本功能&#xff1a; 运行方式&#xff1a;推荐使用第二种方法 变量类型 字符串处理&#xff1a; 条件判断&#xff1a;&#xff08;使用echo $?来判断条件结果&#xff0c;0为true&#xff0c;1为false&#xff09; 条件语句&a…...

FPGA实现GTP光口视频转USB3.0传输,基于FT601+Aurora 8b/10b编解码架构,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目我这里已有的 GT 高速接口解决方案本博已有的FPGA驱动USB通信方案 3、工程详细设计方案工程设计原理框图输入Sensor之-->OV5640摄像头输入Sensor之-->芯片解码的…...

使用 PDF API 合并 PDF 文件

内容来源&#xff1a; 如何在 Mac 上合并 PDF 文件 1. 注册与认证 您可以注册一个免费的 ComPDFKit API 帐户&#xff0c;该帐户允许您在 30 天内免费无限制地处理 1,000 多个文档。 ComPDFKit API 使用 JSON Web Tokens 方法进行安全身份验证。从控制面板获取您的公钥和密钥&…...