分片(slice)
给出
《python 基础教程》关于分片的描述:与使用索引来访问单个元素类似,可以使用
分片操作来访问一定范围内的元素。分片通过冒号隔开的两个索引来实现。
Python 3语言:
高亮代码由发芽网提供
#join()
>>> seq1 = [ 'hello' , 'good' , 'boy' , '!' ]
>>> print ( ' ' . join( seq1))
hello good boy !
>>> print( ':' . join( seq1))
hello : good : boy : !
# 删除元素
>>> numbers = [ 1 , 2 , 3 , 4 , 5 ]
>>> del numbers [ 2 : 4 ]
>>> print( numbers)
[ 1 , 2 , 5 ]
>>> numbers = [ 1 , 2 , 3 , 4 , 5 ]
>>> numbers [ 2 : 4 ] = []
>>> print( numbers)
[ 1 , 2 , 5 ]
# 分片赋值
>>> a = [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' ]
>>> a [ 2 : 5 ] = [ '1' , '2' ]
>>> print( a)
[ 'a' , 'b' , '1' , '2' , 'f' , 'g' ]
>>> a = [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' ]
>>> a [ 2 : 5 ] = [ '1' , '2' , '3' , '4' ]
>>> print( a)
[ 'a' , 'b' , '1' , '2' , '3' , '4' , 'f' , 'g' ]
# 离散
>>> a = [ 1 , 2 , 3 , 4 , 5 ]
>>> a [ 1 : 4 : 2 ] = [ 100 , 100 ] # 步进为2:赋值的个数(2)必须等于替换的元素个数(2)
>>> print( a)
[ 1 , 100 , 3 , 100 , 5 ]
>>> a = [ 1 , 2 , 3 , 4 , 5 ]
>>> a [ 1 : 4 : 1 ] = [ 100 , 100 ] # 步进为1:赋值的个数(2)必须小于等于替换的元素个数(3)
>>> print( a)
[ 1 , 100 , 100 , 5 ]
>>> a = [ 1 , 2 , 3 , 4 , 5 ]
>>> a [ 1 : 4 ] = [ 100 , 100 , 100 , 100 , 100 ] # 不指明步进可变长
>>> print( a)
[ 1 , 100 , 100 , 100 , 100 , 100 , 5 ]
# 插入
>>> a = [ 1 , 2 , 3 , 4 , 5 ]
>>> a [ 1 : 1 ] = [ 100 , 100 , 100 , 100 , 100 ] # a[1:1:1] = 也可以,a[1:1:2] = 错误. \
# 插入时步进1或不要步进可以,大于1不行
>>> print( a)
[ 1 , 100 , 100 , 100 , 100 , 100 , 2 , 3 , 4 , 5 ]
>>> seq1 = [ 'hello' , 'good' , 'boy' , '!' ]
>>> print ( ' ' . join( seq1))
hello good boy !
>>> print( ':' . join( seq1))
hello : good : boy : !
# 删除元素
>>> numbers = [ 1 , 2 , 3 , 4 , 5 ]
>>> del numbers [ 2 : 4 ]
>>> print( numbers)
[ 1 , 2 , 5 ]
>>> numbers = [ 1 , 2 , 3 , 4 , 5 ]
>>> numbers [ 2 : 4 ] = []
>>> print( numbers)
[ 1 , 2 , 5 ]
# 分片赋值
>>> a = [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' ]
>>> a [ 2 : 5 ] = [ '1' , '2' ]
>>> print( a)
[ 'a' , 'b' , '1' , '2' , 'f' , 'g' ]
>>> a = [ 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' ]
>>> a [ 2 : 5 ] = [ '1' , '2' , '3' , '4' ]
>>> print( a)
[ 'a' , 'b' , '1' , '2' , '3' , '4' , 'f' , 'g' ]
# 离散
>>> a = [ 1 , 2 , 3 , 4 , 5 ]
>>> a [ 1 : 4 : 2 ] = [ 100 , 100 ] # 步进为2:赋值的个数(2)必须等于替换的元素个数(2)
>>> print( a)
[ 1 , 100 , 3 , 100 , 5 ]
>>> a = [ 1 , 2 , 3 , 4 , 5 ]
>>> a [ 1 : 4 : 1 ] = [ 100 , 100 ] # 步进为1:赋值的个数(2)必须小于等于替换的元素个数(3)
>>> print( a)
[ 1 , 100 , 100 , 5 ]
>>> a = [ 1 , 2 , 3 , 4 , 5 ]
>>> a [ 1 : 4 ] = [ 100 , 100 , 100 , 100 , 100 ] # 不指明步进可变长
>>> print( a)
[ 1 , 100 , 100 , 100 , 100 , 100 , 5 ]
# 插入
>>> a = [ 1 , 2 , 3 , 4 , 5 ]
>>> a [ 1 : 1 ] = [ 100 , 100 , 100 , 100 , 100 ] # a[1:1:1] = 也可以,a[1:1:2] = 错误. \
>>> print( a)
[ 1 , 100 , 100 , 100 , 100 , 100 , 2 , 3 , 4 , 5 ]