python 列表切片数组的切片换成集合吔是同理。
数组[起点i:终点j:步长s]
步长s 为正数时:从第一个元素的值开始取,隔(|s|-1)个数开始取值可以理解为a[n+1]-a[n]=s;负值时,除这个列表之外的值倒过来取值|a[n+1]-a[n]|=s;因此取得集合是中间值时,倒过来即使空的;
当i,j都缺省时a[:]就相当于完整复制一份a了
b = a[i:j:s]这种格式呢,i,j与上面的一样但s表示步进,缺省为1.
所以a[::-1]相当于 a[-1:-len(a)-1:-1]也就是从最后一个元素到第一个元素复制一遍。所以你看到一个倒序的东东
我们基本上都知道python 列表切片的序列对象都是可以用索引号来引用的元素的索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左
在python 列表切片中对于具有序列结构的数据来说都可以使用切片操作,需注意的是序列对象某个索引位置返回的是一个元素而切片操作返回是和被切片对象相同类型對象的副本。
stop_index是切片的结束位置(不包括)
step可以不提供默认值是1,步长值不能为0不然会报错ValueError。
9]python 列表切片中切片操作的实现机制
(注:python 列表切片中前后双下划线名字的方法(函数)叫特殊方法也有称魔术方法的,这是从ruby那里借用的
通常特殊方法都是应当由解释器去调鼡的,对程序员的接口通常是看起来更简洁的方式如常见的 len(list)
9]从上面这些实例可以看到python 列表切片的切片操作非常灵活、强大、简洁、优雅,如果能全面掌握和正确运用将会对你的编写python 列表切片代码水平会有很大提升