python序列的切片操作

切片操作符:[]  [:]  [::]

sequence[index]

sequence[starting_index : ending_index]

sequence[starting_index :  ending_index : step ]


>>> a='abcdefgh'
>>> a[::0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: slice step cannot be zero
>>> a[::-1]
'hgfedcba'
>>> a[::-2]
'hfdb'
>>> a[::-3]
'heb'
>>> a[::-4]
'hd'
>>> a[::2]
'aceg'
>>> a[::3]
'adg'
>>> a='abcde'
>>> print range(-1,-len(a),-1)
[-1, -2, -3, -4]
>>> a[:-1]
'abcd'
>>> a[:-2]
'abc'
>>> a[:-3]
'ab'
>>> 

负数索引从最后一个元素开始。


>>> for i in range(-1, -len(a), -1):
...     print a[:i]
... 
abcd
abc
ab
a
>>> for i in [None] + range(-1, -len(a), -1):
...     print a[:i]
... 
abcde
abcd
abc
ab
a
>>> 



你可能感兴趣的:(python序列的切片操作)