list切片

切片:

  通过指定下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素,这种访问序列的方式叫做切片。

  访问某一个数据元素的的语法如下:
  sequence[index] sequence是序列名,index是想要访问的元素对应的偏移量,偏移量可以是正值,范围是:0<=index<=len(sequence)-1;

  也可以是负值,范围是:-len(sequence)<=index<=-1
  

  序列访问多个元素,只需给出开始和结束的索引值,并且用冒号分隔就可以了,其语法如下:
  sequence[starting_index:ending_index]
  通过这种方式我们可以得到从起始索引到结束索引(不包括结束索引对应的元素)之间的一"片"元素.起始索引和结束索引都是可选的,如果没有提供或者用None   作为索引值,切片操作会从序列的最开始处开始,或者直到序列的最末尾结束。

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,表示反向获取
>>> a=[1,2,3,4,5,6,7]
>>> a[len(a)-1]
7
>>> a[-len(a)]
1
>>> a[len(a)]
   
Traceback (most recent call last):
  File "<pyshell#98>", line 1, in <module>
    a[len(a)]
IndexError: list index out of range
>>> a[-len(a)-1]
   
Traceback (most recent call last):
  File "<pyshell#99>", line 1, in <module>
    a[-len(a)-1]
IndexError: list index out of range
原文地址:https://www.cnblogs.com/lemonlemontree/p/6995561.html