`

python之切片操作符(Slice)

阅读更多
python之切片操作符(Slice)

字符串、列表、元组在python中都符合“序列”这一特征,只要符合这一特征的变量我们都可以用切片(slice)去存取它们的任意部分。我们可以把序列想像成一个队列,我可能需要前面三位、后面三位、或从第三位后的四位、或隔一个取一个等,我们用切片操作符来实现上述要求。

切片操作符在python中的原型是
[start:stop:step]

即:[开始索引:结束索引:步长值]

开始索引:同其它语言一样,从0开始。序列从左向右方向中,第一个值的索引为0,最后一个为-1

结束索引:切片操作符将取到该索引为止,不包含该索引的值。

步长值:默认是一个接着一个切取,如果为2,则表示进行隔一取一操作。步长值为正时表示从左向右取,如果为负,则表示从右向左取。步长值不能为0




假设:


li = [1,2,3,4,5,6,7]

print li[2]                      #输出3,因为索引为2的值为3

print li[2:4]                   #输出[3,4]。从索引2开始取,到索引为4的5为止(不含5)

print li[-1]                     #输出7,反向取第一个

print li[-1:-5:2]              #输出空列表[],从反向第1个向反向第5个取,但步长为2,表示正向相隔二个取值。

print li[-1:-5:-2]            #输出[7,5]



有时我们可以省略开始索引、结束索引,如:


li = [1,2,3,4,5,6,7]

print li[1:]           #输出[2,3,4,5,6,7],省略终止索引,表示取起始索引之后的所有值,等效于li[1:len(li)]

print li[:3]           #输出[1,2,3],省略起始索引,表示从0开始取,等效于li[0:3]

print li[:]            #输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,等效于li[0:len(li):1]

print li[::]           #输出[1,2,3,4,5,6,7],省略起始索引、终止索引、步长值表示取全部,等效于li[0:len(li):1]

print li[::-1]        #输出[7,6,5,4,3,2,1],省略起始索引、终止索引,步长值为-1,表示反向获取

所以,不要为str类没有substring方法而感到困惑,用切片操作符吧。

分享到:
评论

相关推荐

    025.Python字符串_切片slice操作_逆序.mp4

    025.Python字符串_切片slice操作_逆序.mp4

    python的切片规则.docx

    切片操作 切片操作是Python中最常用的操作之一,它可以让我们轻松地获取序列中的一部分元素。例如,我们可以使用以下代码获取列表中的前三个元素: python的切片规则全文共4页,当前为第1页。 lst = [1, 2, 3, 4, 5...

    037.Python列表_切片slice操作.mp4

    037.Python列表_切片slice操作.mp4

    Python列表切片用法示例

    Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。  格式:【start:end:step】  start:起始索引,从0开始,-1表示结束  end:结束索引  step:步长,end-start,步长为正时,从左向右...

    Python高级特性切片(Slice)操作详解

    在Python中对于具有序列结构的数据来说都可以使用切片操作,需注意的是序列对象某个索引位置返回的是一个元素,而切片操作返回是和被切片对象相同类型对象的副本。

    Python 的切片为什么不会索引越界.docx

    切片(slice)是 Python 中一种很有特色的特性,在正式开始之前,我们先来复习一下关于切片的知识吧。 切片主要用于序列对象中,按照索引区间截取出一段索引的内容。 切片的书写形式:[i : i+n : m] ;其中,i...

    MATLAB "slice"切片功能实现四维显示

    利用MATLAB 7.0的"slice"切片功能将三维表示的数据,通过对图形的线型、立面、色彩、渲染、光线、视角等的控制,可形象表现数据四维特性。

    详解Python中映射类型(字典)操作符的概念和使用

     键查找操作符是唯一仅用于字典类型的操作符,它和序列类型里单一元素的切片(slice)操作符很相象。对序列类型来说,用索引做唯一参数或下标(subscript)以获取一个序列中某个元素的值。而对字典类型来说,是用

    Python高级特性——详解多维数组切片(Slice)

    今天小编就为大家分享一篇Python高级特性——详解多维数组切片(Slice),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Python切片操作深入详解

    本文实例讲述了Python切片操作。分享给大家供大家参考,具体如下: 我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左。 在Python...

    通过源码分析Python中的切片赋值

    因为经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。而下面这篇文章则通过源码给大家分析介绍了Python中切片赋值的相关资料,需要的朋友可以参考学习,...

    python 与GO中操作slice,list的方式实例代码

    python 与GO中操作slice,list的方式实例代码 GO代码中遍历slice,寻找某个slice,统计个数。 type Element interface{} func main() { a := []int{1, 2, 3, 4, 1} for _, i := range a { fmt.Println(i) } ...

    Python对切片命名的实现方法

    内置的slice()函数会创建一个切片对象,可以用在任何运行进行切片操作的地方。 items=[0,1,2,3,4,5,6] a=slice(2,4) print(items[2:4]) print(items[a]) items[a]=[10,11,12,13] print(items) del items[a] print...

    Golang slice切片操作之切片的追加、删除、插入等

    本文介绍了Golang slice切片操作之切片的追加、删除、插入等,分享给大家,具体如下: 一、一般操作 1,声明变量,go自动初始化为nil,长度:0,地址:0,nil func main(){ var ss []string; fmt.Printf("length:%...

    详解Python进阶之切片的误区与高级用法

    切片(slice)就是一种截取索引片段的技术,借助切片技术,我们可以十分灵活地处理序列类型的对象。通常来说,切片的作用就是截取序列对象,然而,它还有一些使用误区与高级用法,都值得我们注意。所以,本文将主要...

    智普教育Python培训就业班 150多集Python基础+就业视频教程.txt

    智普教育python培训就业班python随堂视频教程 51 列表slice.flv 智普教育python培训就业班python随堂视频教程 52 列表与split.flv 智普教育python培训就业班python随堂视频教程 53 split习题1.flv 智普教育...

    golang 切片工具类

    FindOutVales 从slice1里剔除slice2存在的值 GroupByKey 将[]map[string]interface{}按某个字段分组 MapListKeyToIntSlice 函数从输入的 []map[string]interface{} 类型的切片中提取指定 key 对应的 int 类型数值...

    详解Python中的__getitem__方法与slice对象的切片操作

    Python中想要使类的实例像list一样使用下标,可以用__getitem__方法,而配合slice对象则可以实现list一样的切片,详解Python中的__getitem__方法与slice对象的切片操作

Global site tag (gtag.js) - Google Analytics