在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 比 循环还要简洁。
原文地址:http://blog.51cto.com/13502993/2144023