Python循环生成-1或1的随机二进制矩阵



不是典型的二进制0或1,或两个连续的数字,我需要创建一个循环,它将随机生成三个-1和1,共100次。到目前为止,我的代码看起来像:

new = []
i =1 
while i <= 100:
random = np.random.randint(low=-1, high=1, size=(1,3))
new.append(random)
i += 1
print(new.append(random))

虽然这只是返回None,即使它工作,也会返回0,这是不希望的。

不需要导入numpy -使用random.choices()(来自标准库)从[-1, 1]生成三个随机选择可能更容易,并执行100次。

import random
new = [random.choices([-1, 1], k=3) for _ in range(100)]
# [[1, 1, -1], 
#  [1, 1, 1], 
#  [1, 1, -1], 
#  [-1, -1, -1], 
#  ...
#  [1, -1, 1]]

如果你在一个函数中这样做,目的是让这个函数产生new供外部使用,那么不要忘记在函数末尾做return new

相关内容

  • 没有找到相关文章

最新更新