有人能解释一下这里发生了什么吗? 切片似乎关闭不是吗? 在交互式shell上执行此操作。
>>> range(3,100,7)[0:5]
range(3, 38, 7)
答案 0 :(得分:3)
range(3, 100, 7)
会返回range
个对象。 range
对象理解切片。请注意,list(range(3,100,7))[0:5]
与list(range(3,38,7))
答案 1 :(得分:2)
因为python3 range()
输出它自己的类型,并且理解切片:
>>> range(100)[5:10]
range(5, 10)
如果您想这样使用它,您必须将其转换为列表:
>>> list(range(100))[5:10]
[5, 6, 7, 8, 9]
所以这也可行,并且在性能方面可能更好:
list(range(100)[5:10])
[5, 6, 7, 8, 9]