切片是啥, 可以吃么

  嘛,所谓切片故名思意就有选取的意思啦, 跟java里面的subString()意思差不多, 从原始的字符串中按规则提取出新的字符串

切片肿么用哈

  切片的用法很简单, 可以提取一个list或者tuple的部分元素, 比如,一个list如下:

L = ["miaomiao", "wangwang", "miemie", "aoao"]

我们现在要取前面两个:

L[0:2]

输出: ["miaomao", "wangwang]

如果第一个索引是0, 辣么也是可以省略的啦, L[:2]效果一样

其他的类似, 第一个索引是开始位置(0开始), 第二个索引表示结束位置但是不包括索引所在位置的元素,也就是第二个索引表示的位置的前一个元素的位置。

* 这里截取的方向是从左到右, 也就是如果第一个索引处向右如果没有遇到第二个索引表示的位置,辣么截取的就是空的,比如L[2: 1], 输出[]

我们知道python有个很人性的设定, 列表或者负数的下表从-1开始依次代表最后一个元素, 依次类推,不要迷糊哦,这里只是一种表示位置的写法,比如L[1: -1], 第二个索引-1代表的是倒数第一个元素的前一个元素, 所以这里的结果是:["wangwang", "miemie], 这个结果和L[-3:-1]一样的

L[1:]表示从位置1开始以后的所有元素

L[:-2] 表示直到倒数第三个位置的所有元素

*如果下表表示位置越界了, python会自动处理(越界部分不显示, 输出合法部分的信息)

还可以有第三个索引的写法, 不过第三个索引表示的前两个索引规则的方向以及表示的字符串格多少个街区

这里所谓的方向是指:

1从第一个索引所在的位置,是向正方向出发匹配索引二,还是从父方向匹配索引二

2第二个索引表示的位置是第二个索引的左边还是右边的那个元素, 如果是正方向,这里表示左边的那个元素,负方向表示右边的那个元素

嘛, 上面说的从左到右就是正方向的一种说法, 数学里面的一维坐标表示法

比如:

L[-1: -4: -2]

这里第三个所以为负, 所以方向是负的, 第一个索引表示的位置是倒数第一个, 从负方向出发找第二个索引表示的位置, 第二个索引是-4, 方向是负的,所以表示的是倒数第4个元素负方向也就是倒数第3个元素。

结果是:['aoao', 'wangwang']

  辣么长,记不住

  不管索引是正是否, 首先根据第三个索引判断方向, 如果没有第三个索引,那么默认是正向, 接着判断第一个索引表示的位置, 然后判断第二个索引表示的位置,但是第二个索引的位置没有被包含,如果是正向,辣么表示左边的元素, 负向表示右边的元素, 确定第二个索引的位置后, 根据方向判断是从第一个索引表示的位置的左边出发还是右边出发,没有遇到第二个索引表示的位置,辣么就是空的, 否则结果就是这些元素啦, 最后根据第三个索引的值隔着取就好了,默认是1

Python切片的更多相关文章

  1. 关于javascript里面仿python切片操作数组的使用方法

    其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用 ...

  2. 流畅的Python——切片

    2.4 切片 在 Python 里,像列表(list).元组(tuple)和字符串(str)这类序列类型都支持切片操作,但是实际上切片操作比人们所想象的要强大很多. 在我个人的使用经历来看,在算法实践 ...

  3. Python切片(入门7)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407977.html 本文出自:[Edwin博客园] Python切片 1. 对list进行切片 L = r ...

  4. 彻底搞懂Python切片操作

        在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任 ...

  5. python 切片步长

    python切片 切片:list变量[值下标:结束值下标]  什么意思呢? 就是获取 list中 下标从定义的位置开始获取数据到  自定义的下标位置结束, 但是切片有个规矩就是顾头不顾尾, 举个例子 ...

  6. 关于python切片操作笔记

    一. Python可切片对象的索引方式 包括:正索引和负索引两部分,如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:   python索引方式.jpg 二. P ...

  7. 详解Python 切片语法

    Python的切片是特别常用的功能,主要用于对列表的元素取值.这篇文章主要介绍了详解Python 切片语法,需要的朋友可以参考下 Python的切片是特别常用的功能,主要用于对列表的元素取值.使用切片 ...

  8. 深入理解Python切片

    Python序列的切片很基础同时也很重要,最近看到一个[::-1]的表达,不明所以,查了一些资料并实际操作,对Python切片有了更深刻的认识,以下结合例子详细说明.先看下切片的基本语法,一般认为切片 ...

  9. python 切片

    本人的博客中的python内容基本上全是看着廖雪峰大神博客做的一个笔记 关于列表或者元祖的切片 下面说一下列表的切片的语法: L[起始位置:结束位置:步长] number = range(100) n ...

随机推荐

  1. 填坑*** WARNING L15: MULTIPLE CALL TO SEGMENT

    填坑*** WARNING L15: MULTIPLE CALL TO SEGMENT 警告:发生了重入! 解释:在主循环里调用了一个函数,而在中断服务中又一次调用了同样的函数.当主循环运行到该函数中 ...

  2. 面试中遇到的iOS笔试题

    1.浅复制和深复制的区别? 2.类别的作用(category)?继承和类别在实现有何区别? 3.类别(category)和类扩展(extension)的区别. 4.obc中的协议和java中的接口概念 ...

  3. zxing--条码图像处理库

    ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口.Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码.   该项目可实现的条形码 ...

  4. canvas知识点

    看到网上某些特别好看的效果,就突然想看看这个canvas; canvas是html5中的一个标签.所以兼容的是Internet Explorer 9.Firefox.Opera.Chrome 和 Sa ...

  5. Centos 6.5 下php5.6.2 的编译安装

    纯净的Centos 6.5系统 配置163yum源 (稍后会写一篇文档) 安装  开发软件包:yum  -y groupinstall  "Development Tools" 安 ...

  6. Nginx ssl证书部署

    查看当前安装的OpenSSL版本所支持的密码列表,可以使用下列命令:openssl ciphers 苹果ATS检测:https://www.qcloud.com/product/ssl 刚开始&quo ...

  7. MYSQL 分组排序

    http://www.cnblogs.com/merru/articles/4626045.html SELECT a.shop_id, a.price, count(*) as rankFROM m ...

  8. linux学习8 第八章 权限管理

    8.1 ACL权限 8.2 文件特殊权限 8.3 文件系统属性chattr权限 8.4 系统命令sudo权限 8.1 ACL权限 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权 ...

  9. ANdroid5.0不能隐式启动service,必须显示,解决办法,加服务端包名

    Intent intent = new Intent(); intent.setAction("com.viaembedded.veonvif.RemoteService");// ...

  10. EntityFramework+MySql 笔记2

    话说刚刚配置好环境,刚刚写了几行代码,迫不及待地运行,duang! 踏进了第一个坑 看代码 static void Main(string[] args) { Database.SetInitiali ...