python-精准理解索引、切片、步长的关系?

一、索引的取值方式:

# 其中符号,空格,汉字,都算一个索引
NumStr = "hello,你好 world,世界"
#正数从0开始  负数从-1开始
print(NumStr[7],NumStr[-10])

那么输出的内容就是: 

好 好

注意:

NumStr[7]  ---取值是从0开始,从左到右数---第七位结束

NumStr[-10]---取值是从-1开始,-10位结束  从右到左数---(空格,逗号都是算)

二、切片的取值方式:

​NumStr1 = [1,2,3,4,5,6,7,8,9,11,12,13]
#切片--输出从起始位:0到结束位--7之间的内容
print(NumStr1[0:8])
#起始位8开始(包含8)
print(NumStr1[8:])
​

切片:正数默认从0(第一位)开始数:

[0:8]=1,2,3,4,5,6,7   包左不包右,所以不包含8

[8:]从0开始数,默认是第八位开始 。9,10,11,12,13

切片:负数默认是-1开始(第一位)开始数,数到-8位   

#切片是-8开始
print(NumStr1[-8:])
输出的结果就是:5,6,7,8,9,10,11,12,13

这里可以理解[-8:-1]区间取值

三、切片+步长的取值方式:

注意:切片+步长     步长为正数 :从左到右边取值     步长为负数 :从右到左边取值

格式:[::]     例如:[2:8:2]第三位就是步长 ,也就是2步   在长度[2:7]区间中间隔如图:

[2  :8]-----2,3,4,5,6,7   (包左不包右) 步长为2  可以理解为1,  1+2=3,  3+2=5, 5+2=7.........这是位数啊注意~

[2  :8]-----2,3,4,5,6,7   位数为2  取值位数第1,3,5位  ------------对应输出答案就是:2,4,6

 那么如果步长是负数呢?那就从右到左数

看[-8::-2]   -8就是起始位   输出就是:-8  -10  -12 14........

 同样的[-8::2]  2是正数  正数就是从左边到右边数

看[-8::2]   -8就是起始位  -1就是终点位 [-8:] =-8 -7 -6 -5 -4 -3 -2 -1  正数2  取值步第1,3,5,7 步伐 中间隔两位   那么最后的结果就是  :-8  -6 -4 - 2 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值