在 python 如何创建一个由 1 到 100 之间的数字组成的向量,每个数字重复 100 次

in python how to create a vector composed of numbers from 1 to 100 and each number is repeated 100 times

我需要创建一个由 1 到 100 之间的数字组成的向量,每个数字重复 100 次。 我能够想出这个解决方案,但我需要避免使用 i,i,i,i,i,i....,i,i,i

a = np.zeros(0)
for i in range(1,100): 
    a = np.r_[a,[i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i,i]]
print(a) 

*这是输出:[ 1. 1. 1. ... 99. 99. 99.]

你可以在一行中完成 np.repeat:

a = np.repeat(np.arange(1, 100), 100)

print(a)
# [ 1,  1,  1, ..., 99, 99, 99]

您可以使用列表理解来完成(如果需要,然后将其转换为 numpy.array)。

a = sum([[i] * 100 for i in range(1, 100)], [])

您可以使用 numpy.repeat 并在 for loop 中传递 i:

import numpy as np
a = np.zeros(0)
for i in range(1,100): 
    a = np.r_[a,np.repeat(i, 100)]

print(a)
[ 1.  1.  1. ... 99. 99. 99.]