Python-数据结构-字符串
1.字符串的标识
字符串用单引号、双引号或三重引号标识,字符串是不可变的。
‘hello World!’ “Hello World!”
"""hello
World!"""
2.字符串的分行
(1)用单引号和双引号的字符串分行必须借助分行符\n,例如:
或者

若使用\n该字符串必须在一行,否则会报错;若想要写两行字符串需要写为\n\,最后一个\表示下一行延续本行的内容。
(2)三重引号的分行不需要分行符\n,例如:

因为三重分隔符会保留原始格式。
3.字符串的连接
(1)字符串之间可以用+连接
“Hello”+“World”+“!” -->HelloWorld!
(2)字符串之间可以用*循环,相当于做乘法
"Hello"*5+"World!" -->HelloHelloHelloHelloHelloWorld!
(3)字符串之间可以自动连接,只限字符串之间,字符串和表达式不可以
“Hello”“World!” -->HelloWorld!
4.字符串的索引查询
(1)索引查询
字符串的第一个下标是0,依次类推。
var = "String"
var[4] -->n
(2)切片索引
所谓切片即将字符串切成一片一片的,例如:


第一行是正索引,第二行是负索引。正索引切片的长度就是两索引的差。
var[1:4] -->elp
var[:4] -->Help
var[3:] -->pA
var[-4:-2] -->el
var[-3:] -->lpA
var[:-2] -->Hel
var[4:3] -->空
下界比上界大的索引返回空的字符串;
上界或下界没有值的,默认为从最右或者最左开始。
5.字符串的格式化
字符串格式化操作符(%)实现格式化。
print('Hello %s,%s enough for ya!'%('World','Hot'))
%:表示需要插入转换值的位置。
s:表示值会被转化为字符串,也可以用其他代替,如下3-1表。
转换标志:-表示左对齐,+表示在转换值之前加上正负号,“ ”(空白字符)表示正数之前保留空格,
6.字符串的方法
(1)find()
返回子串在字符串中的最左端的位置,若没有则返回-1。
s = 'Hello World!'
print(s.find('rl'))
print(s.find('rl',2,5)) --2表示查找的起始点,5表示查找的结束点
(2)join()
用于连接两个字符串,可以将序列连接为字符串,也可以连接字符串。
s1 = ['1','2','3','4']
s3 = '12345'
s2 = '+'
print(s2.join(s1)) -->1+2+3+4
print(s2.join(s3)) -->1+2+3+4+5
(3)lower()
返回字符串的小写。
(4)replace(a,b)
返回字符串的a部分被b替换后的字符串。
(5)split()
是join的逆方法,用于将字符串分隔为序列。
'1+2+3+4'.split('+') -->['1', '2', '3', '4']
(6)strip()
返回去除两侧空格的字符串。
(7)maketrans()
maketrans在3.0以前的版本中是通过form string import maketrans导入的,3.0以后的版本中maketrans变为了内建函数,调用有以下几种方式:
str.maketrans()、bytearray.maketrans()、bytes.maketrans()。
作用:用于创建字符串映射的转换表,maketrans(a,b)参数a是被取代的字符(或字符串)b是取代的字符(或字符串),a与b必须是两个等长的字符串。
(8)translate()
用于字符串的替换,在替换之前要先创建个table作为第一个参数,这个table中包含256个字符。translate函数还有第二个参数,用于删除某字符。这两个参数都是可选的。若只有第一个参数,则只替换,若只有第二个参数,则只删除。
string = 'hahkdfab123djak123'
a = '123'
b = 'asd'
table = str.maketrans(a,b)
print(len(table)) -->256
print(string.translate(table)) -->hahkdfabasddjakasd
浙公网安备 33010602011771号