在 3.4.3 上使用范围时,列表切片不起作用

Slicing of a list is not working when range is being used on 3.4.3

my_list = range(1, 11)

print(my_list[::2]) 

>>> range(1,11,2)

它没有显示正确的输出,应该是 [1, 3, 5, 7, 9]

在 python3.x、range returns 上 range 对象而不是列表。切片范围对象只是 returns 另一个范围对象,它显示在您的终端中:

>>> 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]