-
python学习(一)中对数组、列表、元组、字典有一个切片选择,slice notation,这里再小小总结一下:
a = [0,1,2,3,4,5,6,7,8,9]
b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象
b = a[1:3] 那么,b的内容是 [1,2]
当i缺省时,默认为0,即 a[:3]相当于 a[0:3]
当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]
当i,j都缺省时,a[:]就相当于完整复制一份a了b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进,即取a[i]、a[i+s]、a[i+2s]、…、a[i+ns] (i+ns<j<i+s+ns)
所以a[i:j:1]相当于a[i:j]
i缺省时,默认为-1.
j缺省时,默认为-len(a)-1.
s缺省为1.
这里有一个常用用法,取s为-1,i、j缺省,就相当于取原list的倒序。
以下图片均来自http://www.runoob.com/python/python-operators.html#ysf1
只为方便自己以后查阅