Reputation: 653
I am a new python user and I was wondering how I could make a 0 to n vector. I would like the user to be able to input an integer for n, and receive an output of [0,1,2,3,4,5...,n].
This is what I have done so far...
from numpy import matrix
n=int(raw_input("n= "))
for i in range(n, 0, -1):
K = matrix(i)
print K
But this is what I get as an output:
[0][1][2][3][4][5]...[n]
Transposing the matrix doesn't help. What am I doing wrong?
Thank you for your help!
Upvotes: 15
Views: 97498
Reputation: 461
In plain Python (no NumPy dependency):
arr = list(range(10))
print(arr)
(Posting because even if old, browsing for similar problem go to this one. The range() solution is not optimal depending of further tasks (e.g: remove an item arr.remove(val))).
Upvotes: 2
Reputation: 86276
If you want to use numpy
, you can make use of arange
:
>>> import numpy as np
>>> np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Upvotes: 13
Reputation: 304375
from numpy import array
n = int(raw_input("n= "))
k = array(range(n+1))
print k
Upvotes: 1
Reputation: 817
Use the built-in function:
range(n)
(Well, should be n+1 if you want a list to be [0, 1, ... , n])
Upvotes: 23