码迷,mamicode.com
首页 > 编程语言 > 详细

python切片的问题详解

时间:2015-07-21 17:25:48      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

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]


适合新手,欢迎纠错。

python切片的问题详解

标签:

原文地址:http://my.oschina.net/u/2391943/blog/481408

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!