Python字符串切片介绍
Python 字符串切片是字符串截取函数的一种方式。我们可以根据给定的范围截取字符串的一部分内容。
我们可以将字符串看做一个不可变的数组,对于正数,索引值从0开始;对于负数,索引值从-1开始。那么字符串的截取也是指定索引的范围。
Python字符串切片语法和例子
语法格式
str[beginIndex:endIndex:step]
参数- beginIndex: 可选,截取的开始位置
- endIndex:可选,截取的结束位置
- step:可选,步长,默认为1.
注意:当step步长为正数的时候表示从左到右取值,当step为负数时表示从右向左取值。
返回值
返回字符串的部分内容,其中返回的区间为[begin,end) ,左闭右开区间。
例子
看下面的例子理解Python切片的使用方法。
1)从左向右取值的例子,此时步长为正数。
#!/usr/bin/python
# coding=utf-8
str= 'welcome to www.yxjc123.com'
print("3个都是缺省参数:", str[::]) # 取全部,全部缺省
print("只有第1个参数:", str[2::]) # 从2开始取值
print("有第1和第2个参数:", str[2:12:]) # 从2开始取值,到索引12结束
print("3个参数都有:", str[2:12:2]) # 从2开始取值,到索引12结束,步长设置为2
输出结果:3个都是缺省参数: welcome to www.yxjc123.com
只有第1个参数: lcome to www.yxjc123.com
有第1和第2个参数: lcome to w
3个参数都有: loet
只有第1个参数: lcome to www.yxjc123.com
有第1和第2个参数: lcome to w
3个参数都有: loet
2)从右向左取值的例子,此时步长step为负数。
#!/usr/bin/python
# coding=utf-8
str= 'welcome to www.yxjc123.com'
print("step为负数:", str[::-1]) # step为负数,从右向左取值,等价于字符串逆序
print("step为负数,指定开始位置:", str[-3::-1]) # 输出:c.321cjxy.www ot emoclew
print("step为负数,截取部分内容:", str[-1:-3:-1]) # 输出:mo
输出:step为负数: moc.321cjxy.www ot emoclew
step为负数,指定开始位置: c.321cjxy.www ot emoclew
step为负数,截取部分内容: mo
step为负数,指定开始位置: c.321cjxy.www ot emoclew
step为负数,截取部分内容: mo