python之切片
切片可以切字符串str、列表list、元组tuple,以列表为例
1、使用索引获取列表中某个元素
# 0 1 2 3
list=['A','B','C','D']
# -4 -3 -2 -1
print list[0],list[-4]
list[0],list[-4]的值均为“A”。list[0]为正向索引,list[-4]为负向索引
2、列表中的切片
list[start : end : step]
start是切片起点索引,end是切片终点索引,但切片结果不包括终点索引的值。step是步长默认是1
# 0 1 2 3 list=['A','B','C','D'] # -4 -3 -2 -1 print list[0],list[-4]
step为正时,切片方向为从左至右,start→end,start、end方向在填写时候也必须从左到右。exp:
list[0:3],list[-4:-1],list[-4:3],结果均为['A','B','C']
list[0:3:2,list[-4:-1:2],list[-4:3:2],结果均为['A','C']
step为负数时,切片方向为从右至左,start←end,start、end方向在填写时候也必须从右到左。切出来的结果与原list相比,反向了,exp:
list[3:0:-1],list[-1:-4:-1],list[-1:0:-1],结果均为['D','C','B']
list[3:0:-2],list[-1:-4:-2],list[-1:0:-2],结果均为['D','B']
如果不填写:
list[1:],从list[1]开始正向切出所有:['B','C','D'] (list[-4:]的值一样)
list[:3],从头开始切至list[3](不包括list[3]):['A','B','C'](list[:-1]的值一样)
list[:]、list[::] ,正向切出所有:['A','B','C','D']
list[::-1],负向切出所有:['D','C','B','A']
3、range()函数
语法为:range(stop)
range(start,stop,step)
print range(5):[0,1,2,3,4]
print range(1,5) : [1,2,3,4]
print range(1,5,2) :[1,3]
print range(5,0,-1) : [5,4,3,2,1] #倒序排序
print range(5,0,-2) : [5,3,1]
优质内容筛选与推荐>>