Python - 数据容器str(字符串)

简介: Python - 数据容器str(字符串)

字符串的定义

和其它容器如:列表、元组一样,字符串也可以通过下标进行访问

从前向后,下标从0开始 ;从后向前,下标从-1开始

值得注意的是同元组一样,字符串是一个:无法修改的数据容器。所以有关字符串的任何修改操作都是错误的;

如果必须要做,只能得到一个新的字符串,旧的字符串是无法修改

字符串的常用操作

查找特定字符串的下标索引值 index

my_str="ab cde fg 123"
num="0123456789"
print(my_str.index("fg"))

7

字符串的替换 replace

  • 语法:字符串.replace(字符串1,字符串2)      
  • 功能:将字符串内的全部:字符串1,替换为字符串2      
  • 注意:不是修改字符串本身,而是得到了一个新字符串
my_str="about above"
new_str=my_str.replace("ab","AB")
print(my_str)
print(new_str)

about above

ABout ABove

字符串本身并没有发生变化,而是得到了一个新字符串

字符串的分割 split

  • 语法:字符串.split(分隔符字符串)      
  • 功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中      
  • 注意:字符串本身不变,而是得到了一个列表对象
my_str="about above    abandon abject"
new_str=my_str.split(" ")
print(my_str)
print(new_str)
print(type(new_str))

about above    abandon abject

['about', 'above', '', '', '', 'abandon', 'abject']

<class 'list'>


可见,字符串按照给定的 <空格>进行了分割,变成多个子字符串,并存入一个列表对象中


值得注意的是,如果存在连续的分割符,会将所有的分割符去除,除第一个分割符外,其余n-1分割符生成n-1个空字符串(若分割符在第一个,则第一个分割符也生成空串)

my_str1="a"
my_str2="abaac"
new_str1=my_str1.split("a")
new_str2=my_str2.split("a")
print(new_str1)
print(new_str2)

['', '']

['', 'b', '', 'c']


字符串的规整操作 strip

语法:字符串.strip()(去前后空格与转行符)

my_str="    about above    abandon abject  "
new_str=my_str.strip()
print(my_str)
print(new_str)

   about above    abandon abject  

about above    abandon abject

语法:字符串.strip(字符串) (去前后指定字符串)

my_str="6a 1234567890 6a66baaab6a66ba6b"
new_str=my_str.strip("6ab")
print(my_str)
print(new_str)

6a 1234567890 6a66baaab6a66ba6b

1234567890

将前后含有字符串内容的字符去除,以不在字符串中的任意字符为分隔

统计字符串中某字符串的出现次数 count

my_str="about above abandon abject"
new_str=my_str.count("ab")
print(my_str)
print(new_str)
print(type(new_str))

about above abandon abject

4

<class 'int'>


每个字符只能算一次

my_str="a6aa6aa6aa"
new_str=my_str.count("a6aa")
print(my_str)
print(new_str)

a6aa6aa6aa

2

统计字符串的长度 len

数字(1、2、3...)

字母(abcd、ABCD等)

符号(空格、!、@、#、$等)

中文(文字和符合)

都算1个字符长度

 my_str="123#$%^wdkj哈哈是 ~!、E(?/"
 print(len(my_str))

22

字符串切片 [起始下标:结束下标:步长]

切片:从一个序列中,取出一个子序列

语法:序列[起始下标:结束下标:步长]

此操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)


起始下标与结束下标为左闭右开区间  [左,右) #注意不是[始,末)

my_str="0123456789"
print(my_str[:])#从头开始,到最后结束,步长1
print(my_str[1:5:1])#下标1开始,下标5(不含)结束,步长1
print(my_str[:4:2])#从头开始,到下标4(不含)结束,步长2
print(my_str[::2])#从头开始,到最后结束,步长2
print(my_str[::-1])#从头(最后)开始,到尾结束,步长-1(倒序)
print(my_str[6:1:-1])#从下标6开始,到下标1(不含)结束,步长-1(倒序)
print(my_str[:1:-2])#从头(最后)开始,到下标1(不含)结束,步长-2(倒序)

0123456789

1234

02

02468

9876543210

65432

9753

image.png

相关文章
|
2月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
128 64
|
27天前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
44 5
|
1月前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
38 7
|
2月前
|
Python
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
39 6
|
2月前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
44 1
|
3月前
|
Python
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
63 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
|
3月前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
66 7
|
3月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
48 0
|
24天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
183 77
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序

热门文章

最新文章