sequence序列有个特性切片,对线性结构来讲,
可以放到python 的for in 可迭代的。可迭代的不一定是线性结构,暂时可以理解线性结构在内存是连续的
len是在有个地方记住的,免得你去遍历来获取
可索引可迭代,可求长度,然后就可以切片
中间元组,字符串,bytes是不可变的
列表和bytearray是可变的
通过索引区间访问线性结构的一段数据,sequence后+中括号,里面加冒号,什么可以省不可以省,表示一个前包后不包的区间的子序列
支持负索引
start位0,可以省略,默认从0开始,写不写都有,比如[0,10]
stop。。不能乱写,写了-1就是不包了,
超过上界,取到末尾,超过下界,取到开头
start一定要在stop的左边
[:]表示从头至尾,全部元素被取出,等效于copy方法
用切片就是要一个子序列,这个子序列是copy出来的
10不包就取中间的
从开始取到10,10不包
从4开始取到末尾,
全取一遍,类似copy
如果想拷贝一个列表出来,这两个是等价的
后不包,是到o
从4开始,到-4结束
超界就是4取到末尾
从0到10
这个返回的还是bytes,取子序列并不改变类型
转换成bytearray,但是有问题,-4和10重叠起来了
这是可以取出来的
也可以取
这个出问题了,重叠起来,前包后不包
倒着取,什么都没取出来
-4和-10本来就不对
-4在右边-10在左边,-2刚好从右到左走
4到10就是从左到右,2也是从左到右,step和start,stop同向
-2是从右到左,方向不对
-10在左边,-4在右边,2是从左到右,同向可以打印
在右边,-10在左边,。2是从左到右,打印不出来
可以打印出来
start和stop就是描述个方向,有了step步长如果方向一致就可以打印,不一致就不能够打印出来
从头到尾,倒着间隔打
需要用阶乘,组合数公式
3和7对调,2和4对调,转置矩阵,面试题