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

python--高阶函数

python--高阶函数

  • map
    • map的用法
    • map的代码示例
  • filter
    • filter的用法
    • filter的代码示例
  • reduce
    • reduce的用法
    • reduce的代码示例
  • 返回函数
  • IO编程
    • 打开文件
      • 文件打开--打开格式
      • 文件打开--上下文管理器打开文件(会自动close文件)
    • 文件读取
      • 文件读取--file.read(m)
      • 文件读取--file.readline()
      • 文件读取--file.readlines()
    • 文件写入
      • 文件写入--file.write(内容)
      • 文件写入--file.writelines(list)
    • mode参数
    • 光标操作

map

map的用法

map(函数名列表/元组/集合/字符串)
把传入的函数依次作用于每个元素,处理完后返回的是生成器类型,需要用list生成数据

map的代码示例

li = [1, 2, 3, 4, 5]
def add1(x):return x + 1
add_li = list(map(add1, li)) # [2, 3, 4, 5, 6]
print(add_li)

filter

filter的用法

filter(函数名, 列表/元组/集合/字符串)
filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素,处理完后返回的是生成器类型,需要用list生成数据

filter的代码示例

li = [1, 2, 3, 4, 5, 6]
def even_num(n):if n % 2 == 0:return n
even_li = list(filter(even_num, li))  # [2,4,6]
print(even_li)

reduce

reduce的用法

reduce(函数名,列表/元组/集合/字符串)
reduce()用于对参数序列中元素进行累积。python3 中,reduce已经被从全局名字空间里移除了,它被放置在functools模块里

reduce的代码示例

from functools import reduce
li = [1, 2, 3, 4, 5]
m = reduce(lambda x, y : x+y, li)   # m=15
print(m)

返回函数

def outer_foo(*args): #它接受任意数量的参数argdef inner_foo():#函数打印args中的每个元素for i in args:print(i)return inner_foo
# 实例化outer_foo函数,并将其返回的inner_foo函数赋值给f变量
f = outer_foo(1, 2, 3, 4, 5)
# 调用f函数
f()  # 1 2 3 4 5

IO编程

打开文件

文件打开–打开格式

file = open(文件路径,模式,encoding='utf-8')# 关闭文件
file.close() # 上下文管理器打开文件(会自动close文件)
with open(文件路径,模式,encoding='utf-8') as file:file.read()

fp.seek(m):移动文件指针,当前位置向后移动m个字节
fp.tell(m):查看文件指针
fp.flush(m):刷新缓冲区和fp.close()类似

文件打开–上下文管理器打开文件(会自动close文件)

# 上下文管理器(推荐使用)
#f=open(file=r'D:\ningMengClass\py39\day09\test.txt',mode='a+',encoding='UTF-8')
with open (file=r'D:\ningmengclass\pythonproject\pythonProject\Higher-order function\test.txt',mode='a+',encoding='UTF-8') as file:file.seek(0)result = file.read()print(result)

文件读取

文件读取–file.read(m)

f.read():读取文件的所有数据,默认从头开始,读取出来的数据类型为字符串

# read()
f=open(file=r'D:\ningmengclass\pythonproject\pythonProject\Higher-order function\test.txt',mode='r')
result = f.read()
print(result,type(result))
f.close()

文件读取–file.readline()

f.readline():读取第一行数据,更省内存

#readline()
f=open(file=r'D:\ningmengclass\pythonproject\pythonProject\Higher-order function\test.txt',mode='r')
result = f.readline()
print(result,type(result))
f.close()

文件读取–file.readlines()

f.readlines():按行读取所有文件的数据,返回list,
每一行就是list的一个元素
换行符也会读取出来

# f.readlines()
f=open(file=r'D:\ningmengclass\pythonproject\pythonProject\Higher-order function\test.txt',mode='r')
result = f.readlines()
print(result,type(result))
f.close()

文件写入

文件写入–file.write(内容)

#f.write() 方法返回的是写入文件的字符数,而不是写入的内容。
#f.write('python39期20210413')
f=open(file=r'D:\ningmengclass\pythonproject\pythonProject\Higher-order function\test.txt',mode='w',encoding='UTF-8')
result = f.write('python39期20210413')
print(result)
f.close()

文件写入–file.writelines(list)

# f.writelines(data)
f=open(file=r'D:\ningmengclass\pythonproject\pythonProject\Higher-order function\test.txt',mode='w',encoding='UTF-8')
data=('day01\n','day02\n','day03')
result = f.writelines(data)
print(result)
f.close()

mode参数

r:只读文件
w:只写文件(覆盖)
a:只写文件(追加写入)–append
+:
r+:可以读&可以写(覆盖)
w+:可以读&可以写(覆盖)
a+:可以读&可以写(追加写入)
了解:
rb:二进制形式读取(图片)
wb:二进制形式写入(图片)
ab:二进制形式追加写入(图片)

光标操作

seek(0)
offset:偏移量(字节数)/行
whence:默认是0,从哪里开始偏移/列
0:从文件开头开始算起
1:从光标当前位置开始算起
2:从文件末尾开始算起

相关文章:

python--高阶函数

python--高阶函数 mapmap的用法map的代码示例 filterfilter的用法filter的代码示例 reducereduce的用法reduce的代码示例 返回函数IO编程打开文件文件打开--打开格式文件打开--上下文管理器打开文件(会自动close文件) 文件读取文件读取--file.read(m)文件…...

Vue/Uni-app/微信小程序 v-if 设置出场/退出动画(页面交互不死板,看起来更流畅)

天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 在Vue.js中&#xff0c;使用v-if进行条件渲染时设置动画可以通过<transition>组件来实现。 具体操作步骤如下&#xff1a; 包裹条件渲染的元素&#xff1a;您需要将要通过v-if控制显示隐藏的元素包裹在<transition…...

加速量子计算机商业化!富士通日立NEC等联合成立新量子计算公司

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 编辑丨王珩 编译/排版丨沛贤 深度好文&#xff1a;700字丨5分钟阅读 日本工业界和学术界将在 2024 年联合成立新一家公司&#xff0c;研发量子计算机并将其商业化。包括富士通、日立和NEC在内…...

RPC学习笔记一

什么是RPC RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;是一种用于实现分布式系统中不同计算机或进程之间进行通信和调用的技术和模式。 在传统的过程调用中&#xff0c;当一个程序需要调用另一个程序的函数或方法时&#xff0c;通常是在同一台…...

计算机设计大赛 题目:基于深度学习的中文对话问答机器人

文章目录 0 简介1 项目架构2 项目的主要过程2.1 数据清洗、预处理2.2 分桶2.3 训练 3 项目的整体结构4 重要的API4.1 LSTM cells部分&#xff1a;4.2 损失函数&#xff1a;4.3 搭建seq2seq框架&#xff1a;4.4 测试部分&#xff1a;4.5 评价NLP测试效果&#xff1a;4.6 梯度截断…...

LabVIEW飞行器螺旋桨性能测试与数据监控

LabVIEW飞行器螺旋桨性能测试与数据监控 开发LabVIEW的电动飞行器螺旋桨性能测试与数据监控系统&#xff0c;专门针对电动飞行器螺旋桨在运行过程中的性能测试和监控需求。通过采集转速、转矩、拉力和温度等关键参数&#xff0c;系统能够实时监测和分析螺旋桨的状态&#xff0…...

数字电子技术实验(九)

单选题 1. 本实验仿真与实际操作时时钟信号源必须满足什么条件&#xff1f; A. 仿真和实际操作时&#xff0c;时钟信号源频率必须大于1KHZ。 B. 仿真和实际操作时钟信号源频率可以在1 - 5 0HZ之间调整。 C. 仿真和实际操作时钟信号源频率必须是1HZ。 D. 仿真和实际操作时钟…...

Android 开发环境搭建(Android Studio 安装图文详细教程)

Android Studio 下载 https://developer.android.google.cn/studio?hlzh-cn Android Studio 安装 检查电脑是否启用虚拟化 如果没有开启虚拟化&#xff0c;则需要进入电脑的 BIOS 中开启 直接 next选择安装的组件&#xff0c;Android Studio 和 Android 虚拟设备&#xff…...

解决方案:使用Vscode运行命令时,.出现 __vsc_prompt_cmd_original: command not found

参考:https://blog.csdn.net/qq_44949985/article/details/128902944 解决方案&#xff1a;使用Vscode运行命令时,.出现 __vsc_prompt_cmd_original: command not found 问题描述&#xff1a; 在本地的vscode上使用ssh-remote登录到远程服务器&#xff08;操作系统为ubuntu 18.…...

SinoDB数据库运行分析

SinoDB数据库运行主要从数据库互斥资源等待、数据库写类型、备份文件有效性、Chunk状态等15个方向进行分析&#xff0c;具体说明如下&#xff1a; 一、数据库互斥资源等待 检查项目 数据库互斥资源等待 检查命令 onstat -g con |head -20 说明 onstat -g con 查看目前数据处…...

OkHttp

文章目录 OkHttp概要1.简介2.特点3.基本组成5.工作流程 拦截器1.简介2.内置拦截器3.自定义拦截器 连接池1.简介2.常用参数配置选项 Dispatcher和线程池1.简介2.重要方法3.DispatCher中的双端队列4.总结 OkHttp 概要 1.简介 OkHttp是一个开源的HTTP客户端&#xff0c;用于在J…...

uni-app 上传图片无反应 chooseImage失效

1、点击反应都没有 2、输出fail 信息 {"errMsg": "chooseImage:fail api scope is not declared in the privacy agreement", "errno": 112} 提示&#xff1a; 这个是小程序需要更新用户隐私策略 在小程序 微信公众平台 &#xff1a; 设置-&…...

学习Java十一天总结

目录 一、走进Java编程世界 二、变量、常量和运算符 三、if选择结构 四、switch选择结构 五、while循环结构 六、for循环结构 七、数组 八、深度循环结构 九、类和对象 十、类的无参方法 十一、类的带参方法 十二、字符串 一、走进Java编程世界 程序是为了让计算机…...

【光伏监控系统的相关产品有哪些】Acrel-1000DP分布式光伏监控系统

光伏发电系统是指无需通过热过程直接将光能转变为电能的发电系统。通常由光伏方阵、蓄电池组&#xff08;蓄电池控制器&#xff09;、逆变器、交流配电柜和太阳跟踪控制系统等设备组成。其特点是可靠性高、使用寿命长、不污染环境、能独立发电又能并网运行。 分布式光伏监控系…...

[Linux]互斥锁(什么是锁,为什么需要锁,怎么使用锁(接口),演示代码)

目录 一、锁的概念 一些需要了解的概念 什么是锁&#xff1f;为什么需要锁&#xff1f;什么时候使用锁&#xff1f;怎么定义锁&#xff1f; 二、锁的接口 1.初始化锁 2.加锁 3.申请锁 4.解锁 5.销毁锁 三、实践&#xff08;写代码&#xff09;&#xff1a;黄牛抢票 M…...

Web基础06-AJAX,Axios,JSON数据

目录 一、AJAX 1.概述 2.主要作用 3.快速入门 4.AJAX的优缺点 &#xff08;1&#xff09;优点 &#xff08;2&#xff09;缺点 5.同源策略 二、Axios 1.概述 2.快速入门 3.请求方式别名 三、JSON 1.概述 2.主要作用 3.基础语法 4.JSON数据转换 &#xff08;1…...

Java 文件序列化和反序列化

list序列化 /*** 序列化* param list* param filename* throws IOException*/public static void serializeList(List<Map<String, Object>> list, String filename) throws IOException {try (ObjectOutputStream oos new ObjectOutputStream(new FileOutputStre…...

NETLINK_ROUTE 与 NETLINK_SOCK_DIAG 的区别与用法

在 Linux 中&#xff0c;Netlink 是一种用于内核与用户空间之间通信的机制&#xff0c;通过不同的 Netlink 协议族&#xff08;family&#xff09;可以实现不同类型的通信。其中&#xff0c;NETLINK_ROUTE 和 NETLINK_SOCK_DIAG 是两种常用的 Netlink 协议族&#xff0c;它们具…...

docker yocto vscode

scode的docker插件怎么使用 vscode是一个基于VS Code的开发环境&#xff0c;它提供了一个Docker插件&#xff0c;可以帮助你在VS Code中使用Docker进行开发。下面是使用scode的Docker插件的步骤&#xff1a; 安装scode插件&#xff1a;在VS Code的扩展商店中搜索并安装scode插…...

使用ansible剧本进行lvm分盘

使用 Ansible 剧本&#xff08;Playbook&#xff09;进行 LVM 分区管理是一种自动化的方式&#xff0c;可以帮助管理员在多台主机上批量管理逻辑卷。 部署环境 3台主机&#xff0c;添加硬盘 ansible-galaxy collection install community.general 联网执行&#xff0c;下…...

【排序】快速排序

原理 对于一个数组x&#xff0c;快速排序流程如下&#xff1a; 确定分界点a&#xff0c;可以取x[l]、x[r]、x[l r / 2]、随机&#xff08;四种都可以&#xff09;调整区间&#xff0c;使得&#xff1a;区间被分成 < a 和 > a的两部分&#xff0c;左边 < a&#xff…...

Python大数据实践:selenium爬取京东评论数据

准备工作 selenium安装 Selenium是广泛使用的模拟浏览器运行的库&#xff0c;用于Web应用程序测试。 Selenium测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样&#xff0c;并且支持大多数现代 Web 浏览器。 #终端pip安装 pip install selenium #清华镜像安装 p…...

信息系统项目管理师019:存储和数据库(2信息技术发展—2.1信息技术及其发展—2.1.3存储和数据库)

文章目录 2.1.3 存储和数据库1.存储技术2.数据结构模型3.常用数据库类型4.数据仓库 记忆要点总结 2.1.3 存储和数据库 1.存储技术 存储分类根据服务器类型分为&#xff1a;封闭系统的存储和开放系统的存储。封闭系统主要指大型机等服务器。开放系统指基于包括麒麟、欧拉、UNIX…...

Python基础(六)之数值类型元组

Python基础&#xff08;六&#xff09;之数值类型元组 1、简介 元组&#xff1a; 在Python中是内置的数据结构之一&#xff0c;是一个不可变的序列,切可以是任何类型数据。元组的元素放在&#xff08;&#xff09;小括号内。一般我们希望数据不改变的时候使用 不可变与可变的…...

Chrome历史版本下载地址:Google Chrome Older Versions Download (Windows, Linux Mac)

最近升级到最新版本Chrome后发现页面居然显示错乱,是在无语, 打算退回原来的版本, 又发现官方只提供最新的版本下载, 为了解决这个问题所有收集了Chrome历史版本的下载地址分享给大家. Google Chrome Windows version 32-bit VersionSizeDate104.0.5112.10279.68 MB2022-05-30…...

ROS2纯跟踪实现(C++)

#include <tf2_ros/buffer.h> #include <tf2_ros/transform_broadcaster.h> #include <tf2_ros/transform_listener.h>#include <geometry_msgs/msg/transform_stamped.hpp> #include...

uniapp微信小程序随机生成canvas-id报错?

uniapp微信小程序随机生成canvas-id报错&#xff1f; 文章目录 uniapp微信小程序随机生成canvas-id报错&#xff1f;效果图遇到问题解决 场景&#xff1a; 子组件&#xff0c;在 mounted 绘制 canvas&#xff1b;App、H5端正常显示&#xff0c;微信小程序报错&#xff1b; 效…...

爬虫 Day2

resp.close()#关掉resp 一requests入门 &#xff08;一&#xff09; 用到的网页&#xff1a;豆瓣电影分类排行榜 - 喜剧片 import requestsurl "https://movie.douban.com/j/chart/top_list" #参数太长&#xff0c;重新封装参数 param {"type": "…...

达梦数据库SQL

达梦JSON函数技术文档 SQL中关键词处理 -- 必须要使用双引号包裹 select id,"comment" from t_cmp_rd_process;select id,"commit" from t_cmp_rd_gjj_eva;JSON_EXTRACT函数 -- party_sup_other_json 是包含JSON数据的列名。 -- $.content_abstract 是J…...

python教程——把视频转成gif

一、前言 很多网站提供视频转GIF的功能&#xff0c;但要么收费要么有广告&#xff0c;实际上可以通过python&#xff0c;几行代码就能够实现视频转gif。 二、使用方法 1安装必备库moviepy pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple 2. 写入代码 …...

平面设计师需要学历/seo服务是什么

2019独角兽企业重金招聘Python工程师标准>>> 环境准备&#xff1a;以下所有部署操作都在vm虚拟机环境下进行实现,如果转为生产环境只需配置对应ip地址即可,linux下基础配置请参考文摘CentOs6.5基本环境配置&#xff08;一&#xff09;&#xff1a;基本环境配置 http…...

校园网站建设的作用/百度指数爬虫

实现伪静态的主要作用是有利于SEO。 常用的有以下几种方法&#xff1a; 第一种是在配置文件中进行配置&#xff0c;方法如下&#xff1a; 第一步&#xff1a;下载UrlRewrite&#xff1b; 第二步&#xff1a;将bll文件引用到项目中去。 第三步&#xff1a;开始在配置文件中进行配…...

商业网站建设案例教程/天津搜狗seo推广

Qt是一个跨平台的C图形用户界面库&#xff0c;由挪威TrollTech公司出品&#xff0c;Qt支持所有的UNIX系统&#xff0c;包括Linux系统&#xff0c;还支持 WinNT/Win2k、Windows 95/98平台。 本文将使用简单的几个步骤说明在VC 2005下如何编译安装并开发QT应用程序&#xff1a; …...

免费搭建私人网站/武汉谷歌seo

github上的本文地址 开源中文输入法 在Windows上面中文拼音输入法数不胜数。简单数了一下自己用过&#xff0c;就有六种以上&#xff1a; 智能ABC微软拼音紫光拼音搜狗输入法谷歌输入法QQ输入法......可参考wikipedia 中文输入法列表&#xff0c;以及小众软件 我最喜欢的《拼音…...

做网站密云/代运营网店公司

SpringMVC简介 MVC模式 MVC是软件工程中的一种软件架构模式&#xff0c;它是一种分离业务逻辑与显示界面的开发思想。 M(model)模型:处理业务逻辑&#xff0c;封装实体 V(view) 视图:展示内容 C(controller)控制器:负责调度分发(1.接收请求、2.调用模型、3.转发到视图) Spr…...

网站维护推广/关于友情链接的作用有

data的复数形式是datas还是data?rt爱做梦的小菇凉 *|用户&#xff1a;要求回答的带个面包去流浪|用户:优质回答&#xff1a;不可数用户:惯性宠爱i的其他回答&#xff1a;不可数名词用户:失控的其他回答&#xff1a;不可数名词 只有data一个形式用户:别动我爱人我谢你全家的其他…...