1.首先呢是切片最广泛的使用,字符串的反转
str = 'python'
str[::-1]
运行的结果是nohtyp
2.切片有哪些功能?
#带进步的切片(step=10)
m[0:100:10]
#多维切片
看过网上一些博客,大家是这样写的,但是我运行的时候发现根本是不对得。显然list当中直接传tuple进去时肯定不对的。
m[1:10,3:20]
#带进步值的多维切片
m[0:100:10.50:75:5]
#扩展切片分配
3.切片的边界问题
s = [1,2,3,4] s的上界为0,下界为4
s[-100:100] 返回的是[1,2,3,4] -100和100都超出了界线,因此返回原s
s[-100:-200] 返回[]。因为均超出了下界
s[100,200] 返回[]
s[:100] 返回[1,2,3,4]
s[0:] 返回[1,2,3,4]
4.最重要的切片的索引
m[[start],[stop][,step]]
step为正表示正索引,为负是负索引
step的符号
+:从左往右看,start默认是0,stop默认是索引最大值
-:从右往左看,start默认是索引最大值,stop默认是0
第三个参数step,如果该数为正,从前往后数。
如果是负数,从后往前数;
如果非1,则是跳步来数,1表示走一步,跳0步;
如果第一个参数没有填写,则自动设为第一个参数,根据第三个参数的正负判断是索引最大值还是索引最小值
几个简单的实例
首先定义:s=[1,2,3,4,5,6,7,8,9,10]
s[0:5:1]
结果:[1,2,3,4,5]
s[0,5,2]
s[:5:2]
结果是:[1,3,5]
s[5:0:-1]
结果:[5,4,3,2,1]
s[9::-1]
结果:[9,8,7,6,5,4,3,2,1]
s[:6:-1]
结果:[10,9,8,7]
钟志远 江苏南京 904727147