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'>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/70632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 数组手册 – 通过示例和备忘单了解 JS 数组方法如何工作

在编程中&#xff0c;数组是包含元素集合的数据结构。数组非常有用&#xff0c;因为您可以在单个数组中存储、访问和操作多个元素。 在本手册中&#xff0c;您将学习如何在 JavaScript 中使用数组。我们将介绍创建数组时需要遵循的特定规则&#xff0c;以及如何使用数组方法根…

Fiddler安装与使用教程(2) —— 软测大玩家

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

力扣(LeetCode)算法_C++——移位字符串分组

给定一个字符串&#xff0c;对该字符串可以进行 “移位” 的操作&#xff0c;也就是将字符串中每个字母都变为其在字母表中后续的字母&#xff0c;比如&#xff1a;“abc” -> “bcd”。这样&#xff0c;我们可以持续进行 “移位” 操作&#xff0c;从而生成如下移位序列&am…

李宏毅-21-hw3:对11种食物进行分类-CNN

一、代码慢慢阅读理解总结内化&#xff1a; 1.关于torch.nn.covd2d()的参数含义、具体用法、功能&#xff1a; &#xff08;1&#xff09;参数含义&#xff1a; 注意&#xff0c;里面的“padding”参数&#xff1a;《both》side所以是上下左右《四》边都会加一个padding数量…

二叉树的递归遍历和非递归遍历

目录 一.二叉树的递归遍历 1.先序遍历二叉树 2.中序遍历二叉树 3.后序遍历二叉树 二.非递归遍历(栈) 1.先序遍历 2.中序遍历 3.后序遍历 一.二叉树的递归遍历 定义二叉树 #其中TElemType可以是int或者是char,根据要求自定 typedef struct BiNode{TElemType data;stru…

QT连接OpenCV库完成人脸识别

1.相关的配置 1> 该项目所用环境&#xff1a;qt-opensource-windows-x86-mingw491_opengl-5.4.0 2> 配置opencv库路径&#xff1a; 1、在D盘下创建一个opencv的文件夹&#xff0c;用于存放所需材料 2、在opencv的文件夹下创建一个名为&#xff1a;opencv3.4-qt-intall 文…

软件工程的概念及其重要性

软件工程是指将工程原理和方法应用于软件开发过程的学科&#xff0c;涉及软件的设计、开发、测试、维护和管理等各个阶段。它旨在提高软件开发的效率和质量&#xff0c;并确保软件满足用户的需求和预期。 软件工程的重要性体现在以下几个方面&#xff1a; 提高开发效率&#x…

探索 SOCKS5 代理在跨境电商中的网络安全应用

随着全球化的发展&#xff0c;跨境电商成为了商业界的一颗新星&#xff0c;为企业提供了无限的发展机遇。然而&#xff0c;随之而来的是网络安全的挑战&#xff0c;特别是在处理国际网络流量时。在这篇文章中&#xff0c;我们将探讨如何利用 SOCKS5 代理和代理 IP 技术来加强跨…

Java设计模式:一、六大设计原则-04:迪米特法则

文章目录 一、定义&#xff1a;迪米特法则二、模拟场景&#xff1a;迪米特法则原则三、违背方案&#xff1a;迪米特法则原则3.1 工程结构3.2 学生、老师、校长类3.2.1 学生类3.2.2 老师类3.2.3 校长类 3.3 单元测试 四、改善代码&#xff1a;迪米特法则原则4.1 工程结构4.2 学生…

react脚手架初始化项目及ts的应用(react+ts)

1. 安装react脚手架 npm install -g create-react-app 或是 yarn add -g create-react-app2. 初始化项目 快速构建出项目名为my-app的react+ts项目 create-react-app my-app --template typescript3. 配置路径别名 在引入文件时如果都是…/ …/…/这种相对路径方式引用可读性…

vue-cli3项目本地启用https,并用mkcert生成证书

在项目根目录下的vue.config.js文件中&#xff1a; // vue.config.js module.exports {devServer: {host:dev.nm.cngc// 此处开启 https,并加载本地证书&#xff08;否则浏览器左上角会提示不安全&#xff09;https: {cert: fs.readFileSync(path.join(_dirname,./cert.crt)…

【docker】运行redis

拉取redis镜像 有多种选择&#xff1a; redis&#xff08;基础版&#xff09;redis/redis-stack&#xff08;包含redis stack server和RedisInsight&#xff09;redis/redis-stack-server&#xff08;仅包含redis stack server&#xff09; docker pull redis docker pull r…

Python Qt学习(十)一个简易的POP3邮件客户端

公司把126这类的邮箱网站都封了&#xff0c;正好现在无事&#xff0c;加之&#xff0c;算是一个对这俩周学习Qt的一个总结吧。遂写了这么一个简易的通过POP3协议接收126邮件的客户端。 源代码&#xff1a; # -*- coding: utf-8 -*-# Form implementation generated from read…

创建2个线程并执行(STL/Windows/Linux)

C并发编程入门 目录 STL 写法 #include <thread> #include <iostream> using namespace std;void thread_fun1(void) {cout << "one STL thread 1!" << endl; }void thread_fun2(void) {cout << "one STL thread 2!" <…

uni-app之android离线自定义基座

一 为什么要自定义基座 1&#xff0c;基座其实就是一个app&#xff0c;然后新开发的页面可以直接在手机上面显示&#xff0c;查看效果。 2&#xff0c;默认的基座就是uniapp帮我们打包好的基座app&#xff0c;然后我们可以进行页面的调试。 3&#xff0c;自定义基座主要用来…

【Java SE】抽象类与接口

目录 【1】抽象类 【1.1】抽象类概念 【1.2】抽象类语法 【1.3】抽象类特性 【1.4】抽象类的作用 【2】接口 【2.1】接口的概念 【2.2】语法规则 【2.3】接口使用 【2.4】接口特性 【2.5】实现多个接口 【2.6】接口间的继承 【2.7】接口使用实例 【2.8】Clonable …

SVPWM的原理及法则推导和控制算法详解

空间电压矢量调制 SVPWM 技术 SVPWM是近年发展的一种比较新颖的控制方法&#xff0c;是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波&#xff0c;能够使输出电流波形尽 可能接近于理想的正弦波形。空间电压矢量PWM与传统的正弦PWM不同&#xff0c;它…

通讯软件017——分分钟学会Kepware OPC UA Server配置

本文介绍如何配置Kepware OPC UA Server&#xff0c;通过本文可以对OPC UA的基本概念有所了解&#xff0c;掌握OPC UA的本质。更多通信资源请登录网信智汇(wangxinzhihui.com)。 1. 创建OPC UA Server 点击“OPC UA Configuration”&#xff0c;弹出配置界面。 点击“添加”&a…

vue开启屏幕录制

在不使用https的时候&#xff0c;只能localhost使用&#xff0c;保护机制 一、导入依赖 npm install vue-webrtc --save2、使用 <template><div><button click"startRecording">开始录制</button><button click"stopRecording&quo…

数据结构 > 什么是数据结构?

目录 1.什么是数据结构&#xff1f; 2.什么是算法&#xff1f; 3.数据结构和算法的重要性 4.如何学好数据结构和算法 5.总结 很多时候我们都叫数据结构和算法 1.什么是数据结构&#xff1f; 数据结构(Data Stricture)是计算机存储、组织数据的方式&#xff0c;指相互之间…