r2 = range(1,10,2)
print(r2[3:5])
为什么输出结果是range(7, 11, 2)
e跟我说过
首先了解range的语法:
range(stop)range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
r2=range(1,10,2)
说明这个可迭代对象是:1、3、5、7、9
r2[3:5],中r2[3]=7,r[4]=9,r[5]=11
则可以转换为:7、9、11
所以 r2[3:5]=range(7,11,2)
由于Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
所以print(r2[3:5]输出 range(7,11,2)