python 切片

切片是用来处理list/tuple的常用手段,但是对于初级者最好还是做个笔记整理下用法比较好


举个例子(以list为例,tuple也是一样的用法)

那么针对list中的元素,它的index是怎么定义的呢,看下图


正数index从0到4,这个没问题吧

负数呢,index从-1到-5,这个也没问题吧,

那,切片到底怎么用呢,没干货是解决不了问题的,对吧

用法:

list[x:y:z]

这个x, y, z 呢,就是切片参数,它的范围呢是-∞ ~ ∞ (负无穷大 ~ 无穷大),但必须是整数

x: 表示从哪里开始

y: 表示到哪里结束

z: 表示从x 到 y你想用多少位作为间隔,比如1表示间隔1,2表示间隔2,就是跳跃式取值,3呢就是间隔3个取,能理解吗?


然后就是从x开始,那x元素可以取到,但是取不到y,因为到y截止了,这个非常重要,一定要记住

来吧,上题目

print a[::]
print a[1::]
print a[1:2:]
print a[1:2:1]
print a[-1:-2:-1]

运行结果是什么呢,看下面

[1, 2, 3, 4, 5] 为什么是全部呢,因为你没有给开始地址,结束地址,以及间隔,所以它把所有元素都罗列出来
[2, 3, 4, 5] 因为你给了开始地址1,那元素2对应的index是不是1,对了,所以就从这里取,而且你也没给结束地址,就取出这样的结果
[2] 因为你给出从索引1取到索引2,索引1对应元素2,索引2对应元素3,参考上面的总结,索引2是结束地址,这个元素是取不上的,所以返回[2]
[2] 虽然多了个间隔1,但是原理同上
[5] 索引-1 对应的元素是5,索引-2对应的元素是4,间隔为1,所以返回[5]

那么对于开始地址,结束地址,间隔如果是正负数混搭的怎么理解呢,看下图


我总结几点如下()

格式是开始地址,结束地址,间隔

1 负正正 -> 开始地址为负,那么只有间隔为正才会有可能切到值,因为间隔为负会把它引导负无穷大, 顺时针取

2 负正负 -> 参考1

3 正负正 -> 参考4

4 正负负 -> 开始地址为正,那么只有间隔为负才会有可能切到值,因为间隔为正会把它引导正无穷大,逆时针取


  


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值