python切片的问题

来源:互联网 发布:乌斯玛草 知乎 编辑:程序博客网 时间:2024/06/07 04:03

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


0 0