Python 第七天

本文介绍了Python字符串的切片操作,包括切片的语法、索引规则和特殊用例。详细解析了切片原理,解释了为何递增步长为-1会得到逆序输出。同时,文章探讨了字符串切片的特例,并通过示例代码帮助理解切片的实现机制。
摘要由CSDN通过智能技术生成

字符串的切片和索引

在Python内,字符串可以被多种关键字所调用也可被用来切片,不过需要注意的是,因为字符串是不可更改的类型,关键字和切片的操作并不会改变字符串本身,而是将操作后的值以赋值或者其他形式输出,原字符串不变。

切片

已知字符串x,字符串内每一个单独的字符都有一个属于的索引下表,这个索引下标从左往右由0开始递增。

a='qwertyuiooooooop'
b=a[1:5:1]#括号里的参数分别代表起始索引编号,结束索引编号,递增步长
print(b) #out:wert

以上案例中将字符串中某一段输出的方式便称之为切片,切片的起始可以是正数也可以是负数,递增步长可以不填写,不填写时默认为1,需要注意的是,切片的值输出时是不包含结束索引所对应的字符的,即由起始索引开始一直到结束索引的前一位结束

a='qwertyuiooooooop'
b=a[1:-1]#括号里的参数分别代表起始索引编号,结束索引的-1代表最后一个,递增步长
print(b) #out:wertyuiooooooo
a='qwertyuiooooooop'
b=a[1:-1:2]#括号里的参数分别代表起始索引编号,结束索引的-1代表最后一个,递增步长为2
print(b) #out:wryiooo

在Python内,如果一个字符串一共有5个字符组成,从左开始第一位字符的下标索引为0,那么当下标递增至第五位字符时,第五位的下标为4,从数学角度来理解,也就是最后一位的下标等于字符串的字符个数减一,我们一般成为字符串的字符个数为字符串长度,Python内由关键字len进行引用,例如

a='asd'
print(len(a))#len()用于计算字符串的长度,所以这里显示的结果为3,那么字符串的索引下标则是[0,len(a))的半闭半开区间。

此外,字符串索引也可以从最后一位开始,从最后一位开始时,最后一位的下标为-1

a='abcdefghijk'
print(a[-1:-4:-1])#递增步长为-1,这里的步长不能使用默认值,但并不是说有负数的情况就不能空着步长,而是这个案例的情况不行,当使用负数索引时,索引值的范围为[-1,-len(a)]的全闭区间。
a='abcdefghijk'
print(a[-9:7])#这里则是省略步长,默认1,而且可以正常输出 out:cdefg
特例
a='qwertyuiooooooop'
b=a[::-1]#如果起始不填索引值,则默认从第一位开始,结尾不填写索引值,则默认为直至结束为止,递增为-1,指代倒叙。
print(b) #out:poooooooiuytrewq
切片原理解析

为什么递增步长填-1会是逆序输出呢?起始切片本质上来说是个循环输出的应用,以以下案例引入


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值