Python range to list

前端 未结 4 1919
时光取名叫无心
时光取名叫无心 2020-12-16 18:52

I am trying to convert a range to list.

nums = []
for x in range (9000, 9004):
    nums.append(x)
    print nums

output

[90         


        
相关标签:
4条回答
  • 2020-12-16 19:13

    Since you are taking the print statement under the for loop, so just placed the print statement out of the loop.

    nums = []
    for x in range (9000, 9004):
        nums.append(x)
    print (nums)
    
    0 讨论(0)
  • 2020-12-16 19:24

    You can just assign the range to a variable:

    range(10)
    >>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    

    In your case:

    >>> nums = range(9000,9004)
    >>> nums
    [9000, 9001, 9002, 9003]
    >>> 
    

    However, in python3 you need to qualify it with a list()

    >>> nums = list(range(9000,9004))
    >>> nums
    [9000, 9001, 9002, 9003]
    >>> 
    
    0 讨论(0)
  • 2020-12-16 19:30

    The output of range is a list:

    >>> print range(9000, 9004)
    [9000, 9001, 9002, 9003]
    
    0 讨论(0)
  • 2020-12-16 19:35

    Python 3

    For efficiency reasons, Python no longer creates a list when you use range. The new range is like xrange from Python 2.7. It creates an iterable range object that you can loop over or access using [index].

    If we combine this with the positional-expansion operator *, we can easily generate lists despite the new implementation.

    [*range(9000,9004)]
    

    Python 2

    In Python 2, range does create a list... so:

    range(9000,9004)
    
    0 讨论(0)
提交回复
热议问题