python slice 切片

list,tuple,string,bytes对象可以进行切片处理,生成一个新的这些类的对象。

格式:li[start: stop: step]

list切片:

 1 >>> li = ['Michael', 'Sarah', 'Tracy', 'Jack', 'Black']
 2 >>>li[0]
 3 'Michael'
 4 >>>li[-1]
 5 'Black'
 6 >>>li[1:3]
 7 ['Sarah', 'Tracy']
 8 >>>li[:3]
 9 ['Michael', 'Sarah', 'Tracy']
10 >>>li[-2:]
11 ['Jack', 'Black']
12 >>>li[:]
13 ['Michael', 'Sarah', 'Tracy', 'Jack', 'Black']
14 >>>li[::2]
15 ['Michael', 'Tracy', 'Black']

tuple切片:

 1 >>> li = ('Michael', 'Sarah', 'Tracy', 'Jack', 'Black')
 2 >>> li[0]
 3 'Michael'
 4 >>> li[-1]
 5 'Black'
 6 >>> li[1:3]
 7 ('Sarah', 'Tracy')
 8 >>> li[-2:]
 9 ('Jack', 'Black')
10 >>> li[:]
11 ('Michael', 'Sarah', 'Tracy', 'Jack', 'Black')
12 >>> li[::2]
13 ('Michael', 'Tracy', 'Black')

string切片:

 1 >>> s = 'abcdefgh'
 2 >>> s[0]
 3 'a'
 4 >>> s[-1]
 5 'h'
 6 >>> s[1:3]
 7 'bc'
 8 >>> s[-2:]
 9 'gh'
10 >>> s[:]
11 'abcdefgh'
12 >>> s[::2]
13 'aceg'

bytes切片(注:python3有bytes类型,python2没有):

 1 >>> a = b'abcdef'
 2 >>> a[0]
 3 97
 4 >>> a[-1]
 5 102
 6 >>> a[1:3]
 7 b'bc'
 8 >>> a[-2:]
 9 b'ef'
10 >>> a[:]
11 b'abcdef'
12 >>> a[::2]
13 b'ace'
原文地址:https://www.cnblogs.com/gundan/p/8047077.html