【Python学习笔记】第三记(特别篇)

喜你入骨 提交于 2020-01-20 15:25:31

Python中的字符串查找操作

Python的字符串操作分为3大类,查找、修改和判断。以后可能会经常用到这些的字符串的操作。

查找操作有3种:find、index和count
find和index都是查找字符串中是否含有子串,若是含有子串find都会返回子串的开始下标,如果不包含子串的话find会返回-1,index会报错。
count是计数,计算子串在字符串中出现的次数。

find的使用方法

find的语法格式:
字符串.find(‘子串’,开始下标,结束下标)
如果开始下标为空,则默认从头开始,入宫结束下标为空默认到最末尾为止

str1 = 'Hello World !'
print(str1.find(' '))
print(str1.find(' ',4,15))

find只返回查找空间中子串第一次出现的下标,例如整个字符串中有两个空格字符,但是如果在整个字符串中查找空格字符的话,只会返回5,11不会返回。

index的使用方法

index和find使用方法是一样的,唯一的区别就是若是子串不存在的话,index会报错。
错误原因会显示

ValueError:substring not found

count的使用方法

语法格式和上述两个一样,只是将find/index改成count
count是计算目标子串在字符穿中出现的次数。

Python中字符串的修改操作

修改操作又分为替换、分割、合并、字母大小写更改、空格删除和对齐

replace替换的使用

replace的用法格式为replace(‘旧字符串’, ‘新字符串’, 替换次数)

str1 = 'Hello World !'
print(str1.replace('world','python', 2)

这样就将world字符转换为了python。替换次数表示将多少个字符替换成新的字符串,若是替换次数大于源字符串中有的子串个数,则意味着全部替换。
如果替换次数为空的话,默认全部替换
值得注意的是,str1所代表的字符串还是原来的字符串,依然为hello world
我们需要一个新的变量来储存这个替换后的字符串,或是用修改过后的字符串覆盖原有的字符串。

split分割的使用

split是将一组字符串以某个字符为标志分割成一个列表
split的格式为:字符串. split(‘标志字符’, 分割次数)

str1 = 'hello world !'
print(str1.split(' '))
print(str1.split(' ', 1))

上述代码的两个print的结果是不同的
第一个结果是['hello','world','!']
第二个结果是['hello','world!']
上述代码解释分别是,用空格将字符串分割成列表元素
用空格将字符串分割,仅分割一次。
分割次数若为空,默认全部分割。

join的操作

join是连接(姑且这么叫吧,想不到更合适的)
语法格式:‘连接符’.join(需要操作的对象)
操作对象一般是列表,元组,字典,字符串和元素序列
例如:

list = ['hello','world','!']
str = ' '.join(list)

代码解读为用空格连接list中的元素,并将得到的字符串赋给str
join的操作对象还可以是字符串
例如:

s1 = 'ab'
s2 = s1.join('123')
print(s2)

上述代码的输出结果为:1ab2ab3
所以我说姑且叫join是连接,因为字符串中没有空格也会被连接符给插入连接起来。

字符串非常用修改

非常用修改有修改大小写,删除空格和对齐

修改大小写

capitalize:

capitalize字符串首字母大写(如果字符串第一个字符不是字母的话就不会大写,后面的字母就没有大写了,而且只有首个字符字母会大写)

title

title是每个单词的首字母大写。

upper

所有字母大写。

lower

所有字母小写。

str1 = '学习python'
print(str1.capitalize())
print(str1.title())
print(str1.upper())
print(str1.lower())

运行结果为
学习python
学习Python
学习PYTHON
学习python

str1 = 'leArn pyThon'
print(str1.capitalize())
print(str1.lower())

运行结果
Learn python
learn python

删除空格字符

lstrip

删除左侧字符

rstrip

删除右侧字符

strip

删除两侧字符

str1 = "	Hello World !	"
print(str1.lstrip())
print(str1.rstrip())
print(str1.strip())

运行结果(运行出来并没有‘\’只是为了能显示有空格):
Hello World!
\ Hello World!
Hello World!

对齐

ljust(长度,‘填充字符’)

rjust(长度,‘填充字符’)

center(长度,‘填充字符’)

str1 = "Hello World!"
print(str1.ljust(10, '.'))
print(str1.rjust(10, '.'))
center(str1.center(20, '.'))

运行结果
Hello World!…
…Hello World!
…Hello World!…

字符串的判断

分为判断开头和判断结尾

字符串的开头判断

需要操作的字符串.startswith(‘子串’,开始位置,结束位置)

字符串的结尾判断

需要操作的字符串.endswith(‘子串’,开始位置,结束位置)

str1 = "Hello World !"
print(str1.startswith('Hel'))
print(str1.endswith(' !', 5, 13))

运行结果
True
True

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!