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

时间:2013-10-09 09:39:54

标签: python range

有Python范围的初学者问题。

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

def RangeTest(n):

    #

    list = range(n)
    return list

print(RangeTest(4))

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

我错过了什么?

提前致谢!

1 个答案:

答案 0 :(得分:15)

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

你想做的事:

def RangeTest(n):
    return list(range(n))

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


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