如何在Pure Python中创建随机矩阵?

问题描述

什么是等效的纯python代码

A = np.random.randint(2,size=(4,2))

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

解决方法

这可能适合您。

from random import randint

A = [[randint(0,1) for y in range(2)]   for x in range(4)]

print(A)

输出:

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

如果您需要具有多个尺寸的不同形状,请使用以下代码:

import random

def random_matrix(c,shape):
    for i in range(len(shape)):
        if len(shape)-i>1:
            for j in range(shape[i]):
                return [random_matrix(c,shape[i+1:]) for b in range(shape[i])]
        else:
            return [random.randint(0,c-1) for v in range(shape[i])]

mat = random_matrix(2,[3,3,1])
print(mat)
print(mat[0])

输出:

[[[1],[0],[1]],[[0],[1],[0]],[0]]]
[[1],[1]]

或与您的示例相同:

mat = random_matrix(2,[4,2])
print(mat)

输出:

[[0,0]]