这篇文章将总结Python中字符串的一些常用操作,如有不足之处还望补充。
1. 字符串的创建方式
(a) 直接创建: s = '12345'
(b) 利用str()函数创建: s = str(12345) >>>'12345'
这里需要说明的是,在Python中单双引号是不加区别的,都可以用来表示字符串。
2. 字符串的访问
字符串也是一种序列,所以满足每一个元素对应一个索引值,索引从0开始。单个字符的访问:
s = '12345'
print(s[1]) >>> '2'
(a) 切片访问:切片访问由三个参数控制,其形式为[begin: end: step],如果没有特殊需求,step参数通常默认是不写的。
print(s[1: 3]) >>> '23'
print(s[1: 4: 2]) >>> '24'
print(s[1: ]) >>> '2345'
print(s[ :4]) >>> '1234'
3. 成员属性
用in和not in来判断某个字符是否存在于一个字符串中,如:print('1' in s) >>> True
4. 字符串的运算
(a) 连接:用+来连接两个字符串,如
s1 = 'I am'
s2 = 'a man'
print(s1 + " " + s2) >>>'I am a man'
(b) 重复:用*来重复字符串,如
print(s1 * 2) >>> 'I am I am'
(c) 比较:字符串之间的比较,是逐一比较两个字符串对应字符的ascii码值的大小,如
s3 = 'abcde'
s4 = 'abce'
print(s3 > s4) >>> False
5. 字符串的内建函数
(a) len(str):返回一个字符串的长度。
(b) max(str)、min(str):返回字符串中对应ascii码值最大、最小的字符。
(c) enumerate(str)、zip(str, str):返回字符串的enumerate型、zip型对象,以便在循环结构中使用。如
str1 = enumerate('abc')
for index, ele in str1:
print(index, ':', ele) >>> 1: 'a', 2: 'b', 3: 'c'
for i in zip('abc', '123')
print(i) >>> ('a', '1'), ('b', '2'), ('c', '3')
在这里,我有个疑问一直没有解决,就是这里的索引值为什么是从1开始而不是从0开始的呢?欢迎大家在留言区讨论,让我涨涨知识。
(d) find()、index():用于判断某字符是否存在于一个字符串中,与上述in的功能一致。用法如下:
print(str1.find('ab')) >>> 0 # find():若存在,则返回匹配部分最开始的那个位置的索引值,若不存在则返回-1。
print(str1.index('bc')) >>> 1 # index(): 若存在,则返回匹配部分最开始的那个位置的索引值,若不存在则引发异常。
(e) isalnum():判断所有字符是否都为字母或数字,返回True或False。
(f) isalpha()、isdigit():分别用于判断所有字符是否都为字母、数字,返回True或False。
(g) isupper()、islower():分别用于判断所有字符是否都为大写、小写,返回True或False。
(h) replace():用于字符串的字符替换用法为str.replace(origin, new)。
s5 = '123456789'
s5.replace('456', 'abc')
print(s) >>> '123abc789'
(i) split()、partition():用于字符串的分割。
s6 = 'I am student'
s6.split(' ') >>> ['I', 'am', 'student'] # 以空格为分隔符,将字符串分割并返回一个列表。
s6.partition(' ') >>> ['I', ' ', 'am student'] # 以空格为分隔符,从出现的第一个位置起,将字符串分割成一个三元素的列表。
(j) join():用于字符串的连接,将括号中的str连接/分割开来,用法为(连接符).join(str)。
print(' '.join(['I', 'am', 'student'])) >>> 'I am student'
print('@'.join('abc')) >>> 'a@b@c'
(k) upper()、lower()、swapcase():用于将字符串中小写字符转为大写、大写字符转为小写、大写转小写小写转大写。
(l) strip():删除字符串首尾的空格,简化字符串。
s7 = ‘ I am student ’
print(s7.strip()) >>>'I am student'
Python字符串的内建函数还有很多,以上只是一些常用的函数,希望对大家的学习有所帮助。