Python 3.x 使用随机生成的数字创建矩阵

Python 3.x 使用随机生成的数字创建矩阵,python-3.x,matrix,Python 3.x,Matrix,我应该创建一个大小由用户决定的矩阵,并使用random.uniform为该矩阵中的每个元素生成一个随机浮点。上面是我的代码,但它将生成的所有数字放在矩阵之外(将它们添加到列表中,而不是列表中)。列表插入添加值,而不是替换现有值 不要生成矩阵然后填充,而是使用以下值生成: import random def list_2d_generate(rows, columns, low_range, high_range): float_list = [] matrix1 = [[0]*c

我应该创建一个大小由用户决定的矩阵,并使用random.uniform为该矩阵中的每个元素生成一个随机浮点。上面是我的代码,但它将生成的所有数字放在矩阵之外(将它们添加到列表中,而不是列表中)。

列表插入添加值,而不是替换现有值

不要生成矩阵然后填充,而是使用以下值生成:

import random
def list_2d_generate(rows, columns, low_range, high_range):
    float_list = []
    matrix1 = [[0]*columns for i in range(rows)]
    for i in range(rows):
        for j in range(columns):
            floats = random.uniform(low_range, high_range)
            matrix1.insert(j, floats)
    return matrix1
请尝试以下方法:

import random
def list_2d_generate(rows, columns, low_range, high_range):
  return [
    [random.uniform(low_range, high_range)
      for _ in xrange(columns)]
    for _ in xrange(rows)]
样本输出:

import random
def makematrix(x,y,minnum, maxnum):
    matrix = []
    for row in range(x):
        matrix.append([])
        for col in range(y):
            matrix[row].append(random.uniform(minnum,maxnum))
    return matrix

print(makematrix(4,4,0,100))

有没有一种方法可以将输出的格式设置为实际上看起来像一个矩阵,并且没有[]括号?您可以使用一对
for
循环遍历该矩阵,然后按照自己的意愿设置格式。这只是打印列表时的默认格式
[[44.75502455476652, 28.664480955351777, 32.656439723011175, 3.9675096554774303] [61.990473239473566, 55.16751027710425, 62.20529230301345, 53.641004392485584], [1.4753516149572543, 8.391386895268615, 61.87234529817771, 11.364854440314732], [21.122758368045947, 62.155653114217145, 85.20532313391281, 97.60326478339135]]