I am trying to convert a range to list.
nums = []
for x in range (9000, 9004):
nums.append(x)
print nums
output
[9000]
[9000, 9001]
[9000, 9001, 9002]
[9000, 9001, 9002, 9003]
I just need something like
[9000, 9001, 9002, 9003]
How do I get just the requred list ?
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)]
In Python 2, range
does create a list... so:
range(9000,9004)
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]
>>>
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)
The output of range is a list:
>>> print range(9000, 9004)
[9000, 9001, 9002, 9003]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With