python切片

切片:list变量[值下标:结束值下标]  什么意思呢?

就是获取 list中 下标从定义的位置开始获取数据到  自定义的下标位置结束, 但是切片有个规矩就是顾头不顾尾,

举个例子

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:1])

结果:['OPPO']

如果我取list里面的OPPO,VIVO 那就得结束下标多+1 : 说白了就是切片的时候顾头不顾尾 从填写的下标开始取值, 到结束的下标, 但是结束的下标即使填写了也不会取到,只会取到结束下标前面的值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:2])

结果:['OPPO', 'VIVO']

如果我从 下标1 开始取后面的全部值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:])

结果:['OPPO', 'VIVO', 'IPHONE', 'LEVOVO']

从起始位置下标开始取到最后全部的值,下标*:不填写

如果我想从list中的倒数第二个数据开始取值, 取到最后面的全部的值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[-2:])

结果:['IPHONE', 'LEVOVO']

因为 -号代表 倒数第几个下标, 从倒数第二个开始取:取全部, 切片是从左往右取值的

我还可以这样:

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[:])

结果:['OPPO', 'VIVO', 'IPHONE', 'LEVOVO']

因为:开始切片下标不填代表从0开始去全部的值,结束不填写, 也是取全部的值

接下来就是切片步长

这个步长和range(0,10,2) 的步长是一样的

代码:

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[1::2])

结果:['VIVO', 'LEVOVO']

因为:从下标1的数据开始取值,取后面全部的值, 并且取值的时候设置了步长,取值的时候跳着取,跳2个下标

可以这样理解:开始的时候下标是1 设置的步长是2 那么就是, 去下标是1 的数据, 还会去 1+步长(2) =3 那么会取下标是3 的数据,再往后就是结果3+步长(2)=5,系统会取下标是5 的数据, 在往后的话就是结果5+步长(2) =7 系统就会取下标是7的数据

最新文章

  1. 微信测试服务器验证sha1加密法,工具类
  2. CentOS7安装MariaDB10.1.14
  3. js物理弹性窗口
  4. Bootstrap_分页
  5. Catch That Cow(poj 3278)
  6. Android 自定义控件之app标题栏的封装
  7. windows下pip升级到8.1.2
  8. 动态从数据库中获取数据填充Select
  9. CHARINDEX用法
  10. currentTarget 与 Target 的区别
  11. Page 的生命周期学习小结(翻译兼笔记)
  12. Redis整合Spring结合使用缓存实例(转)
  13. RH133读书笔记(7)-Lab 7 Advanced Filesystem Mangement
  14. Zepto.js-表单方法
  15. 码云报错:fatal: remote origin already exists.解决方法
  16. ssh登录,爬坑系列
  17. Java Cookie工具类
  18. jdk各种包安装方式
  19. 《CSS世界》读书笔记(四)--宽度分离
  20. 500 G JAVA视频网盘分享(JEECG开源社区)

热门文章

  1. Docker系列之AspNetCore Runtime VS .NetCore Runtime VS .NET Core SDK(四)
  2. Docker学习总结(七)--Docker私有仓库
  3. C# 开发 BIMFACE 系列
  4. shell操作钉钉机器人实现告警提醒
  5. Keras(二)Application中五款已训练模型、VGG16框架解读
  6. POJ - 3436 ACM Computer Factory 网络流
  7. CCPC-Wannafly Camp #2 (部分题解)
  8. Java SPI详解
  9. spark与mapreduce的区别
  10. Erlang模块gen_fsm翻译