Search code examples
arraysnumpyrepeatnumpy-ndarray

Python Numpy repeating an arange array


so say I do this

x = np.arange(0, 3)

which gives

array([0, 1, 2])

but what can I do like

x = np.arange(0, 3)*repeat(N=3)times

to get

array([0, 1, 2, 0, 1, 2, 0, 1, 2])

Solution

  • EDIT: Refer to hpaulj's answer. It is frankly better.

    The simplest way is to convert back into a list and use:

    list(np.arange(0,3))*3
    

    Which gives:

    >> [0, 1, 2, 0, 1, 2, 0, 1, 2]
    

    Or if you want it as a numpy array:

    np.array(list(np.arange(0,3))*3)
    

    Which gives:

    >> array([0, 1, 2, 0, 1, 2, 0, 1, 2])