1.切片的定义
用于处理列表的部分元素,Python称之为切片
结构: [start:end:step] 不指定step(步长)时,默认step(步长)为1
一般是不加步长,即取一段连续的索引
对于step:
(1)当step为负数时,即取反
a = 'ABCDE' print(a[::-1]) print(a[::-2])
EDCBA
ECA
可以看到,步长为-1则是取反且取得是一段连续的索引,而为-2的时候,则是取反的同时按照步长去取索引值
(2)step为正数时,则按照从左到右的顺序按步长取值
即步长的符号决定了取值的方向,为正则从左往右取,为负则从右往左取,其值决定了取那些数据
对于
a = 'ABCDE' print(a[0:6:-1])
其输出的是空,原因就在于其取值方向,负数代表从右往左取值,而对于切片是索引0-6,而取值是按照从右往左取值,0的左边没有值,所以取得就是空的
要想有取值,这时我们切片的方向也应该是从右往左,即
a = 'ABCDE' print(a[-1:-6:-1])
EDCBA
EDCBA
切片的起点和终点已经决定了其排列的顺序,对于0-6,其排列就是ABCDE,对于-1到-6(或者6到0)其排列就是EDCBA,而步长及其符合只是决定了最终取值的顺序和内容,并不会改变其排列的顺序,所以这也就是为什么print(a[0:6:-1])输出的是空的原因。
2.常用方法–以下来自菜鸟教程
capitalize() 将字符串的第一个字符转换为大写
count() 用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
str="www.runoob.com" sub='o' print ("str.count('o') : ", str.count(sub)) sub='run' print ("str.count('run', 0, 10) : ", str.count(sub,0,10))
str.count('o') : 3 str.count('run', 0, 10) : 1
endswith() 用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 “start” 与 “end” 为检索字符串的开始与结束位置。
startswith() 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
find() 测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。
rfind() 类似于 find()函数,不过是从右边开始查找.
index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
rindex() 类似于 index(),不过是从右边开始.
isalpha() 如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
isdigit() 如果字符串只包含数字则返回 True 否则返回 False
islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
isupper() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
s1 = "-" s2 = "" seq = ("r", "u", "n", "o", "o", "b") # 字符串序列 print (s1.join( seq )) print (s2.join( seq ))
r-u-n-o-o-b
runoob
len(string) 返回字符串长度
ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。(在处理二进制时添加指定位置为多少数据时常用)
默认为空格,可指定填充字符
str = "Runoob example....wow!!!" print (str.ljust(50, '*'))
Runoob example....wow!!!**************************
rjust() 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
lower() 转换字符串中所有大写字符为小写
upper() 转换字符串中的小写字母为大写
swapcase() 将字符串中大写转换为小写,小写转换为大写
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
str = "www.w3cschool.cc" print ("菜鸟教程旧地址:", str) print ("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com")) str = "this is string example....wow!!!" print (str.replace("is", "was", 3))
菜鸟教程旧地址: www.w3cschool.cc
菜鸟教程新地址: www.runoob.com
thwas was string example....wow!!!
split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。
str = "this is string example....wow!!!" print (str.split( )) # 以空格为分隔符 print (str.split('i',1)) # 以 i 为分隔符 print (str.split('w')) # 以 w 为分隔符
['this', 'is', 'string', 'example....wow!!!'] ['th', 's is string example....wow!!!'] ['this is string example....', 'o', '!!!']
strip() 在字符串上执行 lstrip()和 rstrip(),去除字符串左右两边空格时常用
今天的文章python3 字符串切片_python获取字符串某段分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/51796.html