1. 问题场景
列表倒序遍历
length = 10
my_list = [i for i in range(length)]
2. 实现方法
2.1 rang()
for i in range(length-1, -1, -1):
tmp = my_list[i]
2.2 reverse()
for a in reversed(my_list):
tmp = a
2.3 [::-1]
for a in my_list[::-1]:
tmp = a
3. 性能分析
(单位:秒)
4. 说明
4.1 reversed说明
reversed 函数返回一个反转的迭代器,可参考:菜鸟教程
print(type(reversed(my_list)))
out:<class 'list_reverseiterator'>
4.2 [::] 说明
Python序列切片地址可以写为[开始:结束:步长],三者都可以省略;
开始start省略时,默认从第0项开始;
结尾省略的时候,默认到数组最后;
步长省略的时候,默认为1;
而像上面代码那样写成[::-1],由于步长为负数,所以默认从后向前遍历~