python的range函数与切片操作符


range(start,stop,step)
参数含义:
start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
end:计数到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
scan:每次跳跃的间距(步长参数),默认为1。例如:range(0, 5) 等价于 range(0, 5, 1),步长值为正时表示从左向右取,如果为负,则表示从右向左取。

range函数的输出结果为列表

测试代码如下:

#encoding=utf-8
print range(5)     #[0, 1, 2, 3, 4]
print range(1,5)    #[1, 2, 3, 4]
print range(1,5,2)  #从1到5(不包含5),步长为2,[1, 3]
print range(1,5,-2)  #[]
print range(-5,-1)   #[-5, -4, -3, -2]
print range(-1,-5)   #[]
print range(-1,-5,-1)  #[-1, -2, -3, -4]
print range(-1,-5,-2)  #[-1, -3]

序列包括字符串,列表,元组等。 切片操作符主要通过指定下标范围来获得序列的元素

切片操作符有三种形式,[],[:],[::]

序列的索引分为正向索引,反向索引。

正向索引从左到右,从0开始。而反向索引从右到左,以-1开始。

以字符串"abcd"为例,如下所示:

       a        b       c        d

正向:0        1       2        3

反向:-4      -3      -2       -1

测试代码如下所示:

#encoding=utf-8
s='abcde'
i=-1

print s[2]         #索引对应的字符,c
print s[0:2]       #从开始的索引0到索引2(不包含2)的字符串,ab
print s[:2]        #从开始的索引0到索引2(不包含2)的字符串,abc
print s[-100:100]  #超过实际索引的部分无意义,相当于s
print s[::2]       #步长参数,隔一个取一个,ace
print s[::-1]      #逆序输出,edcba
原文地址:https://www.cnblogs.com/expiator/p/5748405.html