Python range()没有给我一个列表

R14*_*R14 6 python range

有Python范围的初学者问题.

我正在尝试生成一个列表,但是当我输入时:

def RangeTest(n):

    #

    list = range(n)
    return list

print(RangeTest(4))
Run Code Online (Sandbox Code Playgroud)

什么是印刷range(0,4)而不是[0,1,2,3]

我错过了什么?

提前致谢!

Ter*_*ryA 16

您正在使用Python 3,其中range()返回"不可变序列类型"而不是列表对象(Python 2).

你想要做的:

def RangeTest(n):
    return list(range(n))
Run Code Online (Sandbox Code Playgroud)

如果你已经习惯了Python 2,那么range()就相当于xrange()Python 2.


顺便说一句,不要覆盖list内置类型.这将阻止你甚至使用list()我在答案中显示的内容.