我写了一段代码,随机填充0或1的矩阵。但是它以4-5行结束。我希望它在1行中。
pop_size = (8,10)
initial_pop = np.empty((pop_size))
for i in range(pop_size[0]):
for j in range(pop_size[1]):
initial_pop[i][j] = rd.randint(0,1)
答案 0 :(得分:1)
我了解您正在使用NumPy
。如果是这样,那么答案是:
np.random.randint(2, size=pop_size)
这是有关此例程的NumPy文档文章:LINK。 Numpy有据可查,下次尝试自己检查文档。
edit:参数应为2,而不是1
答案 1 :(得分:1)
在标准Python中,尝试:
from random import randint
x = [[randint(0,1) for _ in range(8)] for _ in range(10)]
答案 2 :(得分:1)
使用numpy的randint
方法
matrix = np.random.randint(2, size=pop_size)
答案 3 :(得分:0)
在以下位置查看答案:Simple way to create matrix of random numbers
您可以使用numPy轻松填充矩阵。
例如:
3x3矩阵:
import numpy as np
my_matrix = np.random.randint(2,size=3)
output = ([[0,1,0],
[0,0,1],
[1,0,1]])
答案 4 :(得分:0)
如果您想在数组中只包含1或0,则可以按照以下步骤进行。
import numpy as np
np.zeros(2,2) #it will create [2,2] matrix with all zeros
np.ones(2,2) #it will create [2,2] matrix with all ones