my_list = range(1, 11)
print(my_list[::2])
>>> range(1,11,2)
它没有显示正确的输出,应该是[1,3,5,7,9]
答案 0 :(得分:1)
在python3.x上,range
返回range
个对象而不是列表。切片范围对象只返回另一个范围对象,即终端中显示的对象:
>>> range(1, 11)[::2]
range(1, 11, 2)
>>> type(range(1, 11)[::2])
<class 'range'>
然而,迭代结果应该产生所需的元素:
>>> list(range(1, 11)[::2])
[1, 3, 5, 7, 9]