7

遇到 Python 范围的初学者问题。

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

def RangeTest(n):

    #

    list = range(n)
    return list

print(RangeTest(4))

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

我错过了什么?

提前致谢!

4

1 回答 1

18

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

你会想做:

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

如果你习惯了 Python 2,那么在 Python 2 中range()是等价的xrange()


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

于 2013-10-09T09:41:06.853 回答