文章目录
前言
一、range遍历越索引现象
QS1:遍历range(2,2)会发生什么?不会报错,但是也不会遍历到任何内容
for i in range(2,2):
print(i) # 不会报错,但是也不会输出任何内容
answer:不会报错,但是也不会遍历到任何内容
QS1:遍历range(3,2)会发生什么?不会报错,但是也不会遍历到任何内容
for i in range(3,2):
print(i) # 不会报错,但是也不会输出任何内容
answer:不会报错,但是也不会遍历到任何内容
上面的这种range越索引不会报错,也不会遍历到内容,其实在遍历的结尾出用到的非常频繁
(1)range 函数本身不会引发索引越界错误,因为它生成的是一个惰性序列(在 Python 3 中),而不是直接生成一个完整的列表。
(2)range 生成的序列是动态计算的,只有在迭代时才会生成值。因此,即使你定义的 range 范围不合理(比如 range(3, 2)),它也不会引发索引越界错误,而是直接生成一个空序列。
二 反向切片和range反向遍历
其实 反向切片和range反向遍历 的语法特性基本都是一样的,都是遵循下面基本语