python字符串相关
python字符串相关
- 一、reverse() 函数 只能反转 列表
- 二、reversed() 反转元组字符串等等 返回迭代器
- 三、join和reversed反转字符串
- 四、join串联字符串(join连接对象仅限字符串、储存字符串的元组、列表、字典)数字对象可通过str()转化为字符串⭐
- 对象为字符串
- 对象为元组
- 对象为列表
- 对象为字典⭐
- 数字对象可通过str()转化为字符串⭐
- 五、set()获得不重复元素集合(类似unique)
- 对于字典,set和reverse操作针对的都是key
- r字符串前缀
- r""正则表达式中的应用
- 文件路径处理
- re 模块主要方法(re 模块几乎包含了正则表达式的所有功能)
一、reverse() 函数 只能反转 列表
reverse() 函数用于反向列表中元素。
reverse()方法语法:
list.reverse()
#!/usr/bin/pythonaList = [123, 'xyz', 'zara', 'abc', 'xyz']aList.reverse()
print "List : ", aList
二、reversed() 反转元组字符串等等 返回迭代器
seq — 需要转换的序列,如元组、列表、字符串、range
seqTuple = ('H', 'e', 'l', 'l', 'o') # 元组
print(list(reversed(seqTuple)))
seqList = [7, 8, 4, 5, 6] # 列表
print(list(reversed(seqList)))
seqString = 'HelloWorld' # 字符串
print(list(reversed(seqString)))
seqRange = range(1, 8) # range
print(list(reversed(seqRange)))
['o', 'l', 'l', 'e', 'H']
[6, 5, 4, 8, 7]
['d', 'l', 'r', 'o', 'W', 'o', 'l', 'l', 'e', 'H']
[7, 6, 5, 4, 3, 2, 1]
三、join和reversed反转字符串
可惜不能反转字符串
st="python"
#⽅法1
''.join(reversed(st))
# st.reverse() #'str' object has no attribute 'reverse'
四、join串联字符串(join连接对象仅限字符串、储存字符串的元组、列表、字典)数字对象可通过str()转化为字符串⭐
语法:'sep'.join(sep_object)
参数说明
sep:分割符,可为“,、;”等。
sep_object:分割对象,可为字符串、以及储存字符串的元组、列表、字典。
用法:连接任意数量的字符串(包括要连接的元素字符串、元组、列表、字典),用新的目标分隔符连接,返回新的字符串。
对象为字符串
';'.join('abc') #输出结果为:'a;b;c' string1 = 'good idea'#定义字符串
' '.join(string1) 输出结果:'g o o d i d e a' #说明:由于字符串里没指明按字符串之间是怎么连接的,默认每个字符之间插入目标字符
对象为元组
tuple1 = ('a', 'b', 'c') # 定义元组tuple1
'、'.join(tuple1)
# print('、'.join(tuple1))
# a、b、c
tuple2 = ('hello', 'peace', 'world') # 定义元组tuple2
' '.join(tuple2)
# print(' '.join(tuple2))
# hello peace world
对象为列表
b = ['a', 'b', 'c'] # 定义列表
print('、'.join(b))
# a、b、c
list1 = ['hello', 'peace', 'world'] # 定义列表
print(' '.join(list1))
# hello peace world
对象为字典⭐
c={'hello':1,'world':2}
print(';'.join(c))
# hello;world
d = {'hello':'hi','world':'2'}
print(' '.join(d))
# hello world
数字对象可通过str()转化为字符串⭐
报错❌
a = (1,2,3) #定义元组a
';'.join(a)
#报错:TypeError: sequence item 0: expected str instance, int found
分割对象储存的对象要为字符串,否则会报错
数字对象可通过str()转化为字符串
a = (1,2,3) #定义元组a
';'.join(a)b = (186234,1385475,1235462)
';'.join(str(i) for i in b)#调用set函数去重处理
e = (1,2,3,2) #定义元组a
'、'.join(str(i) for i in set(e))
五、set()获得不重复元素集合(类似unique)
语法:set(<iterable>)
参数说明:iterable:是指可遍历的对象。可为string字符串、list列表、tuple元组对象,可为空值,返回结果为新的空集对象即“set()”。但 不可以直接传入number数字对象(float浮点数、int整数)否则会报错。
(2)用法:获取独特元素的无序集合。
即获取得到的集合里的元素是无先后顺序、不重复。
set('1') #输出结果为{'1'}
set('a,b,c,b,c,d') #输出结果为:{',', 'a', 'b', 'c', 'd'}
set('andjn') #输出结果为:{'a', 'd', 'j', 'n'}
set((1,2,1)) #输出结果为:{1, 2}
set(('a','b','f','d','g','f')) #输出结果为:{'d', 'a', 'f', 'g', 'b'}
set([1,2,1]) #输出结果为:{1, 2}
set(['a','b','f','d','g','f']) #输出结果为:{'a', 'b', 'd', 'f', 'g'}
对于字典,set和reverse操作针对的都是key
tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': 'Manni'}
print(set(tinydict))
原文链接:代码摘自该博主的python专栏,只搬来学习,侵删
r字符串前缀
在Python中,r字符串前缀是一种特殊的字符串前缀,用于表示原始字符串。当一个字符串以r前缀开始时,它将被视为原始字符串,其中的转义字符将被忽略。
r字符串前缀的作用是消除转义字符的特殊含义,使字符串中的每个字符都按照字面意义进行解释。这在处理包含大量反斜杠、制表符、换行符等特殊字符的字符串时非常有用。
使用原始字符串可以避免手动转义特殊字符,使字符串的处理更加简洁和直观。
在Python中,字符串中的转义字符以反斜杠(\)开头,用于表示一些特殊字符或字符序列。例如,\n表示换行符,\t表示制表符。
# 使用r字符串前缀
path = r'C:\Users\username\Documents'
print(path)
在上面的示例中,r字符串前缀将反斜杠字符视为普通字符,而不是转义字符。这样可以避免由于转义字符造成的错误或混淆。
形如r"c:\news",由r开头引起的字符串就是声明了后面引号里的东西是原始字符串,在里面放任何字符都表示该字符的原始含义。有时候匹配正则表达式中,有时候会有斜线 \ 没有 r ,就要写2个 \ \ 有 r ,只要写一个 \ 这种方法在做网站设置和网站目录结构的时候非常有用,使用了原始字符串就不需要转义了。例如:file_object=open('C:\\Users\\ooooooobh\\Desktop\\ooooooobh.txt')file_object=open(r'C:\Users\ooooooobh\Desktop\ooooooobh.txt')
r""正则表达式中的应用
正则表达式中的特殊字符
在正则表达式中,某些字符具有特殊含义,例如点号(.)、星号(*)、加号(+)等。如果要匹配这些特殊字符本身,而不是它们的特殊含义,可以使用r字符串前缀。
import re# 使用r字符串前缀处理正则表达式
pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'
email = 'example@example.com'if re.match(pattern, email):print('Valid email address')
else:print('Invalid email address')
在上面的示例中,r字符串前缀将正则表达式中的特殊字符视为普通字符,而不是具有特殊含义的元字符。这样可以确保正则表达式的准确性和可读性。
文件路径处理
4.1 文件路径中的转义字符
在处理文件路径时,可能会遇到包含反斜杠等转义字符的情况。使用r字符串前缀可以确保这些转义字符被正确解释,而不是被视为特殊字符。
4.2 使用r字符串前缀处理文件路径
下面是一个示例,展示了如何使用r字符串前缀来处理文件路径中的转义字符:
# 使用r字符串前缀处理文件路径
path = r'C:\Users\username\Documents\example.txt'with open(path, 'r') as file:content = file.read()print(content)
在上面的示例中,r字符串前缀确保文件路径中的反斜杠被正确解释为普通字符,而不是作为转义字符。这样可以避免由于转义字符造成的错误或混淆。
原文链接
re 模块主要方法(re 模块几乎包含了正则表达式的所有功能)
import reprint(re.search(r'abc', 'abcef'))
# <_sre.SRE_Match object; span=(0, 3), match='abc'>
print(re.search(r'abc', 'aBcef'))
# None
import reprint(re.match(r'abc', 'abcef'))
# <_sre.SRE_Match object; span=(0, 3), match='abc'>
abc需要完美匹配abc
import reprint(re.fullmatch(r'abc', 'abcef'))
# None
print(re.fullmatch(r'abc', 'abc'))
# <_sre.SRE_Match object; span=(0, 3), match='abc'>
相关文章:
python字符串相关
python字符串相关 一、reverse() 函数 只能反转 列表二、reversed() 反转元组字符串等等 返回迭代器三、join和reversed反转字符串四、join串联字符串(join连接对象仅限字符串、储存字符串的元组、列表、字典)数字对象可通过str()转化为字符串⭐对象为字…...
JavaScript学习笔记01
JavaScript笔记01 什么是 JavaScript JavaScript 是一门世界上最流行的脚本语言,它是一种弱类型的脚本语言,其代码不需要经过编译,而是由浏览器解释运行,用于控制网页的行为。 发展历史 参考:JavaScript的起源故事…...
golang 通用的 grpc http 基础开发框架
go-moda golang 通用的 grpc http 基础开发框架仓库地址: https://github.com/webws/go-moda仓库一直在更新,欢迎大家吐槽和指点 特性 transport: 集成 http(echo、gin)和 grpc。tracing: openTelemetry 实现微务链路追踪pprof: 分析性能config: 通用…...
FSK解调技术的FPGA实现
本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 一、FSK信号的解调原理 FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由…...
Matlab图像处理-高斯低通滤波器
高通滤波 图像的边缘、细节主要位于高频部分,而图像的模糊是由于高频成分比较弱产生的。高通滤波就是为了高消除模糊,突出边缘。因此采用高通滤波器让高频成分通过,消除低频噪声成分削弱,再经傅里叶逆变换得到边缘锐化的图像。 …...
文件上传之图片马混淆绕过与条件竞争
一、图片马混淆绕过 1.上传gif imagecreatefromxxxx函数把图片内容打散,,但是不会影响图片正常显示 $is_upload false; $msg null; if (isset($_POST[submit])){// 获得上传文件的基本信息,文件名,类型,大小&…...
代码随想录二刷day16
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣104. 二叉树的最大深度二、力扣559. N 叉树的最大深度三、力扣111. 二叉树的最小深度三、力扣力扣222. 完全二叉树的节点个数 前言 一、力扣104. 二叉树…...
【开发】安防监控/视频存储/视频汇聚平台EasyCVR优化播放体验的小tips
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成,…...
力扣(LeetCode)算法_C++—— 只出现一次的数字
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入࿱…...
Windows配置SonarQube代码审查工具详细步骤(附带IDEA SonarLint插件使用)
文章目录 环境说明以及准备一. SonarQube的下载与安装二. 添加SonarQube项目三. 使用Maven命令上传代码到SonarQube四. IDEA安装SonarLint插件 环境说明以及准备 本篇博客使用的SonarQube版本为9.8,注意JDK 1.8已经不能支持 NameVersionDownLoad LinkSonarQube9.8…...
【Unity3D】UI Toolkit元素
1 前言 UI Toolkit简介 中介绍了 UI Builder、样式属性、UQuery、Debugger,UI Toolkit容器 中介绍了 VisualElement、ScrollView、ListView、GroupBox 等容器,UI Toolkit样式选择器 中介绍了简单选择器、复杂选择器、伪类选择器等样式选择器,…...
Task :app:compileDebugKotlin FAILED
gradle.properties 里面加上 android.enableJetifiertrue...
Android——数据存储(一)(二十一)
1. 数据存储 1.1 知识点 (1)掌握Android数据存储的分类; (2)可以使用SharedPreferences存储数据。 1.2 具体内容 对于我们数据的存储而言,Android一共提供了5个数据存储的方式:SharedPrefe…...
机器学习课后习题 ---数学基础回顾
(一)选择题 1.函数y=1/(x+1)是 A.偶函数 B.奇函数 C.单调函数 D.无界函数 2.设f(sin(x/2)=cosx+1,则f(x)为() A.2x-2 B.2-2x C.1+2 …...
CS420 课程笔记 P4 - 以16进制形态编辑游戏文件
文章目录 IntroductionFinding save filesStringsUnicodeExample!Value searchHealth searchConclusion Introduction 这节课我们将学习编辑十六进制,主要用于编辑保存文件,但十六进制编辑涉及的技能可以很好地转移到: Save file editingRe…...
计算机毕设之Python的高校成绩分析(含文档+源码+部署)
本系统阐述的是一个高校成绩分析系统的设计与实现,对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体架构。…...
【Sentinel】核心API-Entry与Context
文章目录 一、Entry1、Entry的声明2、使用API自定义资源3、基于SentinelResource注解标记资源 二、Context1、Context介绍2、Context的初始化3、AbstractSentinelInterceptor4、ContextUtil 一、Entry 1、Entry的声明 默认情况下,Sentinel会将controller中的方法作…...
HashMap源码阅读解惑
HashMap的hash函数(1.8) 首先1.7的是四次扰动,1.8做了优化。 简单的说就是对key做hashCode操作,然后将得到的32为散列值向右位移16位,再与hashCode做异或计算。实质上是把一个数的低16位与他的高16位做异或运算。 st…...
如何解决前端传递数据给后端时精度丢失问题
解决精度丢失 有时候我们在进行修改操作时,发现修改既不报错也不生效。我们进行排查后发现服务器端将数据返回给前端时没有出错,但是前端js将数据进行处理时却出错了,因为id是Long类型的,而js在处理后端返回给前端的Long类型数据…...
使用Maven创建父子工程
📚目录 创建父工程创建子模块创建子模块示例创建认证模块(auth) 结束 创建父工程 选择空项目: 设置:项目名称,组件名称,版本号等 创建完成后的工程 因为我们需要设置这个工程为父工程所以不需要src下的所有文件 在pom…...
seo 站群的优缺点是什么
SEO 站群的优缺点解析 在现代的互联网营销中,SEO(搜索引擎优化)站群是一个重要的概念。SEO 站群是指由多个主题相关的网站组成的集合,这些网站通过某种联系形式运作在一起,以提升整体的搜索引擎排名和流量。虽然 SEO …...
CDN 无法播放音视频?流媒体回源与 Range 配置修复
流媒体应用现在越来越普及,CDN(内容分发网络)早已成为音视频流畅播放的核心支撑——靠边缘节点就近分发,既能降低延迟,又能减轻源站压力,让用户不用长时间等待就能看高清内容。但实际运维中,“C…...
从原理到代码:固高GTS控制卡SmartHome回零功能完整开发指南(附C#示例)
从原理到代码:固高GTS控制卡SmartHome回零功能完整开发指南(附C#示例) 在工业自动化领域,运动控制系统的精度和可靠性往往取决于一个看似简单却至关重要的功能——回零操作。作为固高GTS系列控制卡的核心功能之一,Smar…...
OpenClaw小团队协作:千问3.5-35B-A3B-FP8共享技能库搭建
OpenClaw小团队协作:千问3.5-35B-A3B-FP8共享技能库搭建 1. 为什么我们需要共享技能库 去年冬天,我们团队在尝试用OpenClaw自动化周报生成时遇到了一个典型问题——每个人都在重复造轮子。小王写了个飞书日程抓取脚本,小李开发了Git提交记录…...
暑期实习面经记录(十四)(java)(4.2号补充下,闪闪改改)
本人最近面的被问的比较多的java八股先完成再完美1.如何设计一个扣减库存或者说秒杀抢券系统2.最近问这个问的比较多多线程->线程池->并发安全->场景2.锁->synconiezed,retranlock->可重入吗->怎么实现的2.1读写锁 怎么实现的;AQS底层;…...
2.Pandas在电商数据处理中的核心价值
第1章 Pandas在电商数据处理中应用 1.1 为什么Excel不够用,需要Pandas Pandas是Python里的数据分析核心库。它的名字来自“Panel Data”(面板数据),专门处理表格型数据。电商数据分析里,Pandas主要解决三类问题&#x…...
OpenClaw Exec Approvals 机制:在安全与效率之间寻找平衡
OpenClaw Exec Approvals 机制:在安全与效率之间寻找平衡当你第一次看到 /approve 弹窗时,是选择 allow-once 还是 allow-always?这个看似简单的决定,背后是安全与便利的永恒博弈。引言 在 Agent 开发和工作流自动化的世界里&…...
爬虫自动化(DrissionPage)
目录 ?一.介绍: 下载DrissionPage,还是我们熟悉的pip: 环境准备: ?二.基本代码: 它对于的导包和类使用: 窗口的设置: 和获取的页面的滑动: 3.进一步认识DrissionPage: 浏览器可以多开…...
告别‘千人千脑’:用DMMR模型搞定EEG情感识别的跨被试难题(附PyTorch代码)
突破脑电情感识别的个体差异壁垒:DMMR模型实战指南与PyTorch实现 当你在实验室里看着屏幕上跳动的脑电波形时,是否曾为不同受试者数据间的巨大差异而头疼?这种被称为"脑电指纹"的个体特异性,一直是情感识别领域最棘手的…...
TurboQuant革命:KV-Cache压缩技术如何重塑大模型推理经济
上一篇:Qwen3.5-Max-Preview与国产大模型技术突破:阿里通义千问2026最新进展全解析 下一篇:2026年AI-Agent产业化全景:从概念验证到规模化部署的完整路径 摘要 2026年3月24日,Google Research发布了一项名为TurboQuan…...
