list和range()函数中使用反向索引的方法

列表中使用切片时(list[star : stop : step]),可以正向也可以反向切片,当步调为正数时,则是正向索引,此时要求 star > stop 

1 list = [1, 2, 3, 4, 5, 6, 7]
2 list[0:5:1]

此时切片的结果就是[1, 2, 3, 4, 5]

如果是star < stop或者, star > stop但step < 0,则返回空list

1 In [49]: list[0:5:-1]
2 Out[49]: []
3 
4 In [50]: list[5:0:1]
5 Out[50]: []

因此list的正向切片一定要注意star & stop & step这三个值的取法

list的反向切片方法:此时step必须要为负数,且star > stop,任何一点不满足,返回空列表

1 list[5:0:-1]
2 Out[51]: [6, 5, 4, 3, 2]

从下标为5开始输出到下标为1

 

range()函数的取值方法也是同上方法:

1 for i in range(6, 0, -1):
2     print (i)

返回结果是:

6
5
4
3
2
1

1 for i in range(6, 0, 1):
2     print (i)

返回结果是空,什么都没有。

正向同理,正常使用即可。

PS:无论list还是range(),它们的step参数都不能为0,0会报错

posted @ 2018-04-02 23:33  godmelon  阅读(705)  评论(0编辑  收藏  举报