Python字符串切片介绍

Python 字符串切片是字符串截取函数的一种方式。我们可以根据给定的范围截取字符串的一部分内容。

我们可以将字符串看做一个不可变的数组,对于正数,索引值从0开始;对于负数,索引值从-1开始。那么字符串的截取也是指定索引的范围。

Python 字符串切片

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 

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