What is the most efficient way to create list of the same number with n elements?
number = 1
elements = 1000
thelist = [number] * elements
>>> [1] * 10
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
NB: Don't try to duplicate mutable objects (notably lists of lists) like that, or this will happen:
In [23]: a = [[0]] * 10
In [24]: a
Out[24]: [[0], [0], [0], [0], [0], [0], [0], [0], [0], [0]]
In [25]: a[0][0] = 1
In [26]: a
Out[26]: [[1], [1], [1], [1], [1], [1], [1], [1], [1], [1]]
If you are using numpy, for multidimensional lists numpy.repeat
is your best bet. It can repeat arrays of all shapes over separate axes.
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