Python range( ) is not giving me a list [duplicate

2019-02-18 13:22发布

This question already has an answer here:

Having a beginner issue with Python range.

I am trying to generate a list, but when I enter:

def RangeTest(n):

    #

    list = range(n)
    return list

print(RangeTest(4))

what is printing is range(0,4) rather than [0,1,2,3]

What am I missing?

Thanks in advance!

标签: python range
1条回答
姐就是有狂的资本
2楼-- · 2019-02-18 14:02

You're using Python 3, where range() returns an "immutable sequence type" instead of a list object (Python 2).

You'll want to do:

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

If you're used to Python 2, then range() is equivalent to xrange() in Python 2.


By the way, don't override the list built-in type. This will prevent you from even using list() as I have shown in my answer.

查看更多
登录 后发表回答