切片是啥, 可以吃么

  嘛,所谓切片故名思意就有选取的意思啦, 跟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. ftp

    1.url的确定 string ftpServerIP = "29.184.249.98"; string path=new Uri("ftp://"+ftpS ...

  2. UVa 694 - The Collatz Sequence

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=s ...

  3. firefox浏览器不支持复制粘贴(linux)

    在Linux主机下使用firefox在线编辑文章时,提示不支持复制粘贴选项,并给出了解决方法,记录一下 1.先找到本机firefox的配置文件的所在文件夹位置,不知道的请遵循以下步骤 点击菜单栏的帮助 ...

  4. linux 学习 12 服务管理

      第十二讲 Linux服务管理 12.1 Linux服务管理-服务分类 ——Linux服务 ----RPM包默认安装的服务 ————独立的服务 ————基于xinetd服务 ----源码包安装的服务 ...

  5. 关于c#调用c编译器

    这个已经过了好久了具体的实现代码没得,但是大致思路自己整理了一下: 首先要调用c编译器,process.start(): 之后需要自己来进行编译器对代码执行的命令.

  6. NodeJS 常用模块

    NodeJS 模块: n:NodeJS 版本管理/切换 参考: https://github.com/tj/n ExpressJS:Web 框架 参考: http://expressjs.com/ m ...

  7. iOS调试

    iOS高效调试 写代码难免出现bug.储备些调试技能绝对能够提高你的工作效率,让bug无所遁形.下面就和大家分享一些我在工作中常用的iOS调试小技能. 1. 打印 最简单,基础的调试方法就是打印日志了 ...

  8. sqlserver存取过程-游标

    ALTER proc [dbo].[common_proc_temp2] as  begin declare @id varchar(50); declare @cbcontractid varcha ...

  9. MFC窗口乱弹问题

    操作过程将子窗口放到主窗口的OnInitDialog函数和OnPaint函数中调用,在本机没有异常,放到其他机器上发现子窗口莫名其妙的被调用,跟踪发现主窗口这两个函数不止调用一次,中间会因为其他如按钮 ...

  10. Android 学习 (一)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...