python中切片(Slice)操作符以及range( ) 的用法(基础篇)
1.切片(Slice)的用法:
例:L[1,2,3]
L[0:3]:从索引0开始取,直到索引3为止,不包括索引3,即索引0,1,2
L[1:3]:从索引1开始,取出2个元素出来
L[:]:表示从头到尾
L[-2:-1]:表示从倒数第二个元素取到最后一个元素,即输出倒数第二个元素
L[-3:]:表示从头取到尾
L[-1:-3:-1]:表示从倒数第一个数按-1取,取至-3为止,即输出最后两个元素
注:最后一个元素为-1。
切片操作对于tuple也同样适用。
2.利用切片(Slice)操作指定参数:
L[parameter 1: parameter 2: parameter 3]:parameter 3表示每N个取一个
例如:L = range(0, 101)
L[3::3],代表每3个数里取一个,取的数是这3个数中的第一个数
这行代码的意思是,从L[3]开始取,每三个取一个,L[3]==3,所以取的是3的倍数
L = range(0, 101)
print (L[0:9]) #取前10个数
print (L[3::3]) #取3的倍数
print (L[5:51:5]) # 取不大于50的5的倍数
运行结果:
3.range( )的用法:
range(start, stop[, step])
参数的含义:
start: 计数从 start 开始,默认是从 0 开始。
stop: 计数到 stop 结束,不包括 stop。
step:步长,默认为1。
展开形式:
观察 L 和 L1、range(0,9) 和 range(1,10) 的区别,我们可以明白 start 参数的值是说从这个数开始计数。这一点和 list 不同,list、tuple 是一种类似于数组的存在,而 range 不是。而相同的是,step 与切片中的取法类似,取三个数中的第一个。
之前老是将这两者记混了,于是特意总结一下。