Python 3.0

索引(Indexing)

序列中每一个元素都有一个编号,也称为索引,但这里我们先不说序列的概念,现在我们主要以字符串为例来介绍索引这个概念

假如有一个字符串 ABCDEFG

索引时从0开始递增的,也就是说 A的编号就是0,B的编号就是1,按这样的顺序编号递增

即下标为0表示第一个元素,下标为1表示第二个元素

Python比较神奇,它的索引可以是负数,这个索引从右向左计数,也就是从最后一个元素开始计数,即最后一个元素的索引值为-1,倒数第二个元素的索引值为-2,依次类推

元素ABCDEFG
索引0123456
索引-7-6-5-4-3-2-1

大家了解了索引这个东西,那么我们现在就来介绍一个比较重要的概念:切片

 切片操作是反问序列中元素的另一种方法,同样的,我们先不说序列这个东西,我们还是以字符串为例,切片操作也是可以访问字符串的

切片操作可以访问一定范围内的元素。通过切片操作可以生成一个新的序列

其语法格式如下和参数如下:

sname[start:end:step]

sname:表示序列的名称

start: 表示切片的开始位置,(包括该位置),如果不指定,默认为0

end: 表示切片的截止位置,(不包括该位置),如果不指定则默认截止到最后一个元素(包括该元素)

step:表示切片的步长,如果省略,则默认为1,当省略该步长时:最后一个冒号可以省略

例如:截取字符串ABCDEFG中的BCDEF

s = 'ABCDEFG'
print(s[1:6:1])
print(s[1:6])  #可以省略步长
print(s[1:-1])
print(s[-6:-1])

由上述代码可见,只要我们切片开始的位置和截止位置是对应的索引就可以了

还有一个要注意的东西是:字符串变量默认是从左向右一个一个取元素

但是也可以从右向左取

step不仅决定了步长,还决定了取元素的方向

当step 为正数时   从左向右取元素

当step 为负数时   从右向左取元素

代码如下

s = 'ABCDEFG'
print(s[-1:-8:-1])    #注意,起始位置和截止位置方向应该跟step方向一样
print(s[6::-1])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值