python学习之列表的分片赋值
2017-02-21 16:25
323 查看
什么是分片,也有的书叫切片(slice),
当你需要一个序列的子串的时候,你就可以使用切片操作
在a这个序列中,如果你想截取里面[2,3]这个子序列,那么你就可以使用切片a[1:3]
它的语法形式是a[start:end],这里有一个区间边沿取值的问题。首先你要明确序列的索引是从0开始的,a[2:5]取值的范围是[2,5),前面是闭区间,后面是开区间,也就是2<=索引值<5这段区间里的元素。所以如果这样来切的话:a[1:1],得到的就是[],空序列。
还想说说几种切片的方法,因为它们实在太有趣了。
上面我们用到的索引一直都是正值,但是在python中,序列的索引值可以是负值。从最后一个元素索引开始计算,分别是-1,-2,-3,.....
我想换个字符串来测试,不要再abcd,1234的了。就用segmentfault.com吧!
要注意区间的选取。-16<=索引值<-4
除此之外,我还可以在'segmentfault'中每隔两个字符地将截取到的字符组成序列。试试:
在这里的3被称作步进值,步进切片的语法形式就是:seq[start:end:step],在start<=索引值<end中,隔step-1个字符来截取元素。(step >= 1)。
而且,这个步进值同样可以是负数,对应的形式就是seq[end:start:step],在start<=索引值<end中,隔|step|-1个字符来截取元素。我是这样来理解步进值的,它是规定了切片操作的方向,正值代表的是正方向(从左向右)切片,负值代表的是反方向切片。
所以a[-4:-16:-3]的意思就是:反方向从-16<=索引值<-4的元素中,隔两个元素来截取。
所以当你想要把这个序列反转的时候,你就可以从反方向截取所有元素a[::-1]。
通过这几种方法切片出来的对象,你都可以进行赋值,具体的你就自己尝试一下吧!
当你需要一个序列的子串的时候,你就可以使用切片操作
a = [1,2,3,4,5]
在a这个序列中,如果你想截取里面[2,3]这个子序列,那么你就可以使用切片a[1:3]
它的语法形式是a[start:end],这里有一个区间边沿取值的问题。首先你要明确序列的索引是从0开始的,a[2:5]取值的范围是[2,5),前面是闭区间,后面是开区间,也就是2<=索引值<5这段区间里的元素。所以如果这样来切的话:a[1:1],得到的就是[],空序列。
还想说说几种切片的方法,因为它们实在太有趣了。
上面我们用到的索引一直都是正值,但是在python中,序列的索引值可以是负值。从最后一个元素索引开始计算,分别是-1,-2,-3,.....
我想换个字符串来测试,不要再abcd,1234的了。就用segmentfault.com吧!
>>> a = list('segmentfault.com') >>> print a ['s', 'e', 'g', 'm', 'e', 'n', 't', 'f', 'a', 'u', 'l', 't', '.', 'c', 'o', 'm'] #最后一个'm'的索引是-1,然后依次向前递减 >>> print a[-16:-4] ['s', 'e', 'g', 'm', 'e', 'n', 't', 'f', 'a', 'u', 'l', 't']
要注意区间的选取。-16<=索引值<-4
除此之外,我还可以在'segmentfault'中每隔两个字符地将截取到的字符组成序列。试试:
>>>print a[-16:-4:3] >>>['s', 'm', 't', 'u'] #隔了两个字符
在这里的3被称作步进值,步进切片的语法形式就是:seq[start:end:step],在start<=索引值<end中,隔step-1个字符来截取元素。(step >= 1)。
而且,这个步进值同样可以是负数,对应的形式就是seq[end:start:step],在start<=索引值<end中,隔|step|-1个字符来截取元素。我是这样来理解步进值的,它是规定了切片操作的方向,正值代表的是正方向(从左向右)切片,负值代表的是反方向切片。
所以a[-4:-16:-3]的意思就是:反方向从-16<=索引值<-4的元素中,隔两个元素来截取。
所以当你想要把这个序列反转的时候,你就可以从反方向截取所有元素a[::-1]。
通过这几种方法切片出来的对象,你都可以进行赋值,具体的你就自己尝试一下吧!
相关文章推荐
- Python中的列表(添加二元列表、连接、查找、排序、反序、赋值、删除、分片操作、负索引、)
- 学习Python列表内涵:一行代码搞定双倍超立方数计算
- Python学习笔记十:列表(2)--列表元素的读写
- Learn Python The Hard Way学习(34) - 访问列表中的元素
- 学习总结-python列表去重
- python学习笔记——列表(list)和元组(tuple)
- Python 学习资源列表
- Python学习--识别“字符串&字典&列表&元组“
- Python学习笔记——赋值
- 我的python学习之路---赋值和打印
- python学习笔记3-核心类型-列表
- Python学习笔记十二:列表(4)--len 、in、For的使用
- [python学习]列表复制
- Python学习笔记--变量和赋值
- Learn Python The Hard Way学习(32) - 循环和列表
- Python学习笔记九:列表(1)--列表元素介绍及创建方法
- Python自然语言处理学习笔记(4):1.2 进一步学习Python:将文本视作单词列表
- python学习笔记---列表和元组
- Dive Into Python 学习记录1-函数/模块导入/字典/列表/元组/字符串分割、连接、格式化/映射list/
- Python学习(一)----变量与赋值