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
切片操作 切片操作是Python中最常用的操作之一,它可以让我们轻松地获取序列中的一部分元素。例如,我们可以使用以下代码获取列表中的前三个元素: python的切片规则全文共4页,当前为第1页。 lst = [1, 2, 3, 4, 5...
037.Python列表_切片slice操作.mp4
Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。 格式:【start:end:step】 start:起始索引,从0开始,-1表示结束 end:结束索引 step:步长,end-start,步长为正时,从左向右...
在Python中对于具有序列结构的数据来说都可以使用切片操作,需注意的是序列对象某个索引位置返回的是一个元素,而切片操作返回是和被切片对象相同类型对象的副本。
切片(slice)是 Python 中一种很有特色的特性,在正式开始之前,我们先来复习一下关于切片的知识吧。 切片主要用于序列对象中,按照索引区间截取出一段索引的内容。 切片的书写形式:[i : i+n : m] ;其中,i...
利用MATLAB 7.0的"slice"切片功能将三维表示的数据,通过对图形的线型、立面、色彩、渲染、光线、视角等的控制,可形象表现数据四维特性。
键查找操作符是唯一仅用于字典类型的操作符,它和序列类型里单一元素的切片(slice)操作符很相象。对序列类型来说,用索引做唯一参数或下标(subscript)以获取一个序列中某个元素的值。而对字典类型来说,是用
今天小编就为大家分享一篇Python高级特性——详解多维数组切片(Slice),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本文实例讲述了Python切片操作。分享给大家供大家参考,具体如下: 我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左。 在Python...
因为经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。而下面这篇文章则通过源码给大家分析介绍了Python中切片赋值的相关资料,需要的朋友可以参考学习,...
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) } ...
内置的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切片操作之切片的追加、删除、插入等,分享给大家,具体如下: 一、一般操作 1,声明变量,go自动初始化为nil,长度:0,地址:0,nil func main(){ var ss []string; fmt.Printf("length:%...
切片(slice)就是一种截取索引片段的技术,借助切片技术,我们可以十分灵活地处理序列类型的对象。通常来说,切片的作用就是截取序列对象,然而,它还有一些使用误区与高级用法,都值得我们注意。所以,本文将主要...
智普教育python培训就业班python随堂视频教程 51 列表slice.flv 智普教育python培训就业班python随堂视频教程 52 列表与split.flv 智普教育python培训就业班python随堂视频教程 53 split习题1.flv 智普教育...
FindOutVales 从slice1里剔除slice2存在的值 GroupByKey 将[]map[string]interface{}按某个字段分组 MapListKeyToIntSlice 函数从输入的 []map[string]interface{} 类型的切片中提取指定 key 对应的 int 类型数值...
Python中想要使类的实例像list一样使用下标,可以用__getitem__方法,而配合slice对象则可以实现list一样的切片,详解Python中的__getitem__方法与slice对象的切片操作