python学习记录16
字符串总结
python程序使用unicode编码,中文字符与英文字符都占一个字符,但英文字符只占一个字节,中文字符若按照utf-8格式编码占3个字节。
(1)字符串常用方法
1)大小写转化
string.upper()#将所有字母转换为大写
string.lower()#将所有字母转换为小写
2)字符串分割
string.split(sep='')#将字符串按照sep进行分割
3)字符串的检索
string.count('sub')#统计字符串中某个子串的出现次数
string.find(‘sub’)#查询字符串中是否有查询的子串,有则返回第一次出现子串的索引,没有则返回-1
string.index('sub')#与find类似,区别是若字符串无该子串,则程序报错
4)字符串判断
string.startswith('sub')#判断字符串是否以查询的子串为开头
string.endswith('sub')#判断字符串是否以查询的子串结尾
5)字符串替换
string.replace('sub1','sub2')#将字符串所有子串1替换为子串2
6)字符串显示
string.center(width,'fillchar')#在指定的范围内居中,可指定填充字符,默认为空格
7)字符串拼接
string.join(iterable)#将可迭代的对象组(列表、元组、字符串等)合为一个字符串,其中string为分隔符
8)去除字符串前后字符
string.strip('sub')#去除字符串中头部与尾部指定的字串
string.lstrip('sub')#去除字符串中头部指定的字串
string.rstrip('sub')#去除字符串中尾部指定的字串
(2)格式化字符串
1)使用占位符
"%+型"%(变量名,变量名……)其中()中的变量是一个元组类型的数据
2)f-string
(f'{变量名} {变量名,……}'
3)format
"模板字符串".format(变量,变量……)
(3)字符串编码与解码
1)字符串编码
string.encode(’编码格式‘,’错误处理‘)#编码格式默认utf-8,错误处理包括严格strict(遇到无法编码的字符直接报错)、忽略ignore(遇到无法编码的字符直接跳过)、替换replace(遇到无法编码的字符使用字符替换,默认是’?‘)
2)字符串解码
byte.decode('解码格式',’错误处理‘)#解码格式与编码格式必须一致
(4)数据验证
1)string.isdigit()#判断字符串是否全为阿拉伯数字
2)string.isnumeric()#判断字符串是否全为数字(包括罗马数字、中文的一二三四)
3)string.isalpha()#判断字符串是否全为字母或汉字
4)string.isalnum()#判断字符串是否全为数字或字母(包括中文字符)
5)string.islower()#判断字符串中的字母是否全为小写
6)string.isupper()#判断字符串中的字母是否全为大写
7)string.istitle()#判断字符串中的单词是否全为首字母大写
8)string.isspace()#判断字符串是否都为空白、转义字符\t\n等
(5)字符串去重
有三种方式
1)使用遍历
2)使用索引+遍历
3)使用集合+列表
(6)正则表达式
1)元字符
具有特殊意义的专用字符,例如^和$,用于表达匹配的开始与结束,此外还有:
. :用于匹配任一字符(除\n外)
\w:用于匹配数字、字母、下划线
\W:用于匹配数字、字母、下划线以外的其他字符
\s:用于匹配空白字符
\S:用于匹配空白字符以外的字符
\d:用于匹配任意十进制数
2)限定符
限定符是限定匹配的次数,限定符包括:
? :匹配前面的字符一次或0次
+ :匹配前面的字符一次或多次
* :匹配*前面的字符0次或多次
{n}:匹配前面的字符n次
{n,}:匹配前面的字符至少n次
{n,m}:匹配前面的字符至少n次,至多m次
3)区间字符
可以使用[]匹配[]中的字符,例如[\u4e00-\u9fa5]是匹配任意一个汉字
4)排除字符
使用[^]匹配不在[]中指定的字符
5)选择字符
用于匹配|左右的任意字符
6)转义字符
\,同转义字符
7)分组
改变限定符的作用
(7)re模块
re模块是python自带模块,无需要下载。模式字符前加r以排除转义字符防止报错。
1)re.match(pattern,string,flags=0)#从字符串开始的位置进行匹配,指match只在字符串的起始位置寻找而不找后面,若在起始位置找到了,结果为Match对象,否则结果为None
2)re.search(pattern,string,flags=0)#在整个字符串中搜索第一个匹配的值,如果匹配成功,则返回结果为match类型的数据,否则为None
3)re.findall(pattern,string,flags=0)#在整个字符串中搜索所有匹配正则表达式的值,结果是一个列表类型的数据
4)re.sub(pattern,repl,string,count,flags=0)#用于对字符串中指定子串的替换
5)re.split(pattern,string,maxsplit,flags=0)#与字符串的split方法功能相同,都是分隔字符串,split最后输出一个列表类型的数据
相关文章:
python学习记录16
字符串总结 python程序使用unicode编码,中文字符与英文字符都占一个字符,但英文字符只占一个字节,中文字符若按照utf-8格式编码占3个字节。 (1)字符串常用方法 1)大小写转化 string.upper()#将所有字母…...
AI 大模型在软件开发中的角色
语法定义的 React 组件。…...
Day62||prim算法精讲 |kruskal算法精讲
prim算法精讲 53. 寻宝(第七期模拟笔试) 题目描述 在世界的某个区域,有一些分散的神秘岛屿,每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路,方便运输。 不同岛屿之间,路途距离不同&…...
upload-labs通关练习
目录 环境搭建 第一关 第二关 第三关 第四关 第五关 第六关 第七关 第八关 第九关 第十关 第十一关 第十二关 第十三关 第十四关 第十五关 第十六关 第十七关 第十八关 第十九关 第二十关 总结 环境搭建 upload-labs是一个使用php语言编写的,…...
wordpress搭建主题可配置json
网站首页展示 在线访问链接 http://dahua.bloggo.chat/ 配置json文件 我使用的是argon主题,你需要先安装好主题,然后可以导入我的json文件一键配置。 需要json界面配置文件的,可以在评论区回复,看见评论我会私发给你。~...
RWKV-5/6 论文被 COLM 2024 收录
由 Bo PENG 和 RWKV 开源社区共同完成的 RWKV-5/6架构论文《Eagle and Finch: RWKV with Matrix-Valued States and Dynamic Recurrence》被顶级会议 COLM 2024 收录。 这是继 RWKV-4 架构论文《RWKV: Reinventing RNNs for the Transformer Era》被 EMNLP 2023 收录之后&…...
MinIO分片下载超大文件
一、前言 各位亲爱的们,之前介绍过了上传超大文件到MinIO: MinIO分片上传超大文件(纯服务端)MinIO分片上传超大文件(非纯服务端) 这里最后再补充一下从MinIO下载超大文件。 二、从MinIO分片下载大文件 …...
Vue3 -- 新组件【谁学谁真香系列6】
Teleport Teleport是什么?–Teleport是一种能够将我们的组件html结构移动到指定位置的技术。 父组件: <template><div calss="outer"><h2>我是App组件</h2><img src="https://z1.ax1x.com/2023/11/19/piNxLo4.jpg" alt=&qu…...
Openstack3--本地仓库搭建(ftp源搭建失败)
上传镜像 后面的ftp源做不了,请将下面的本地openstack源在控制节点和计算节点都配置 在控制节点上传,安装ftp并配置启动后再在计算节点配置 将openStack-train.iso文件通过MobaXterm远程连接软件上传至控制节点 /opt 目录下 挂载 进入 /opt 目录 创建…...
【初阶数据结构与算法】链表刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构
文章目录 一、移除链表元素思路一思路二 二、合并两个有序链表思路:优化: 三、反转链表思路一思路二 四、链表的中间节点思路一思路二 五、综合应用之链表的回文结构思路一:思路二: 一、移除链表元素 题目链接:https:…...
【PGCCC】Postgresql Toast 原理
前言 上篇博客讲述了 postgresql 如何存储变长数据,它的应用主要是在 toast 。Toast 在存储大型数据时,会将它存储在单独的表中(称为 toast 表)。因为 postgresql 的 tuple(行数据)是存在在 Page 中的&…...
vue3使用element-plus,树组件el-tree增加引导线
vue3使用element-plus,树组件el-tree增加引导线 vue3项目element-plus,树组件el-tree增加引导线 element-plus组件库的el-tree样式 因为element的样式不满足当前的的需求,UI图,所以对el-tree进行增加了引导线 修改样式如下&am…...
AlphaFold3中文使用说明
目录 1. 在线网站用例1. 使用json输入预测蛋白结构 2. 本地命令行2.1 运行示例2.2 AF3输入输入格式JSON兼容性JSON最外层(Top-level)结构序列多序列比对MSA结构模板键 用户提供CCDs 2.3 AF3输出 AlphaFold3(AF3)可以通过在线网站或…...
使用@react-three/fiber,@mkkellogg/gaussian-splats-3d加载.splat,.ply,.ksplat文件
前言 假设您正在现有项目中集成这些包,而该项目的构建工具为 Webpack 或 Vite。同时,您对 Three.js 和 React 有一定的了解。如果您发现有任何错误或有更好的方法,请随时留言。 安装 npm install three types/three react-three/fiber rea…...
Koa进阶:掌握中间件和参数校验的艺术
目录 一、首先下载依赖 二、在index.js中引入koa-parameter,一般挂载这个中间件时会放在注册请求体的后面 三、使用实例 四、如果跟我们所需求的参数不同,返回结果直接会返回422 koa-parameter一般是用来校验请求传过来的参数是否是自己所需要的的 G…...
开源共建 | 长安链开发常见问题及规避
长安链开源社区鼓励社区成员参与社区共建,参与形式包括不限于代码贡献、文章撰写、社区答疑等。腾讯云区块链王燕飞在参与长安链测试工作过程中,深入细致地总结了长安链实际开发应用中的常见问题及其有效的规避方法,相关内容多次解答社区成员…...
【网络】深入理解 HTTPS:确保数据传输安全的核心协议
目录 引言一、HTTPS的基本概念1.1 什么是 HTTPS?1.2 HTTPS 的工作原理1.3 图解:HTTPS 通信过程1.4 HTTPS 与 HTTP 的区别1.5 为什么 HTTPS 更加重要? 二、SSL/TLS协议的核心2.1 SSL/TLS 协议的作用2.2 SSL/TLS 的工作流程2.2.1 握手阶段2.2.2…...
C/C++中使用MYSQL
首先要保证下载好mysql的库和头文件,头文件在/usr/include/mysql/目录下,库在/usr/lib64/mysql/目录下: 一般情况下,在我们安装mysql的时候,这些都提前配置好了,如果没有就重装一下mysql。如果重装mysql还是…...
【GD32】(一) 开发方式简介及标准库开发入门
文章目录 0 前言1 开发方式选择2 标准库模板的创建3 遇到的问题和解决方法 0 前言 因为项目关系,需要使用GD32。之前对此早有耳闻,知道这个是一个STM32的替代品,据说甚至可以直接烧录STM32的程序(一般是同型号)&#x…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
