Python的一个重要特性就是可以在数组中使用负数索引。这样在取值的时候难免碰到疑惑,所以我仔细分析了下range函数,并归纳出一种最快算法。
range([start], stop[, step])
start:开始值
stop:结束值
step:步进(可以正负,正数代表自左向右移动,负数代表自又向左移动)
源代码:
数据连续区域:
运行结果:
非连续数据区域:
测试结果分析:
公式:
数据区域连续(例如:0,1,2,3):
range运行结果=[start...[start+移动位数]]
数据区域非连续(例如:0,1,3,5):
range运行结果=[start...[[数组A][start索引+移动位数]]]
正向(step=1):移动位数=end-start
反向(step=-1):移动位数=start-end
注释:[]中的...代表从start开始,一直到([start+移动位数]或者[[数组A][start索引+移动位数]])的数组。