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

python 高级特性:slice(切片) 灵活指定范围

时间:2018-07-16 12:27:55      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:cal   高级特性   var   vpd   float   proc   ESS   syn   white   

在python 官网的解释:

  • class slice(stop)

  • class slice(start, stop[, step])

Return a slice object representing the set of indices specified by range(start, stop, step). The start and step arguments default to None. Slice objects have read-only data attributes start, stop and step which merely return the argument values (or their default). They have no other explicit functionality; however they are used by Numerical Python and other third party extensions. Slice objects are also generated when extended indexing syntax is used. For example: a[start:stop:step] or a[start:stop, i]. See itertools.islice() for an alternate version that returns an iterator.


一、普通指定范围方法

#将数字填入L

L = []; #list
n = 1;
while n <= 99:  
    L.insert(0, n);
    n = n + 1;
print L;


#take n in head
n = 10
for i in range(n):
    print i, ":", L[i];

技术分享图片


二、slice方式

L = []; #list
n = 1;
while n <= 99:  
    L.insert(0, n);
    n = n + 1;


#slice
##follow way:print "L[0:10]:", L[0:10];  #从第0位开始,第10位结束
print "L[:10]:", L[:10];     # = L[0:10]
print "L[::2]:", L[::2];       # = L[0:100:2] 逢2出1 
print "L[-2:]", L[-2:];       # 从左往右,倒数第二位开始
print "L[-2:-1]", L[-2:-1];  # 从左往右,倒第二位开始 ,倒数第一位结束

print "L[:-90]:", L[:-90];

技术分享图片print '';


string = 'abcdef'
print 'string:%s'%string;
print 'string[:3]:', string[:3];
print 'string[::2]:', string[::2];

技术分享图片


可见,slice 比 循环还要简洁。

python 高级特性:slice(切片) 灵活指定范围

标签:cal   高级特性   var   vpd   float   proc   ESS   syn   white   

原文地址:http://blog.51cto.com/13502993/2144023

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