在python中填充空矩阵时出现问题

2024-05-23 18:58:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组,它是由包含[key,character]的记录生成的

我有一个函数可以创建一个空矩阵,它的维数由数组的大小和数组的宽度决定。我需要使用第一个数组中的字符填充这个列表。现在当我编译这个时,我得到的结果是没有。我有什么办法可以做到这一点

def createArray(size):
    return [None] * size

def createMatrix(rows,cols):
    m = createArray(rows)
    for i in range(rows):
        m[i] = createArray(cols)
    return m

def fillMatrix(matrix, array):
    rows = len(matrix)
    cols = len(matrix[0])

    arrSpot = 0
    for r in range(0,rows,1):
        for c in range(0, cols, 1):
            matrix[r][c] = array[arrSpot][1]
            arrSpot += 1
    return

Tags: keyinforsizelenreturndefrange
3条回答
dimension1 = int(input("Give the dimension of the row: "))
dimension2 = int(input("Give the dimension of the column: "))
matrix = [[0 for i in range(dimension1)] for j in range(dimension2)]
for y in range(dimension2):
    for x in range(dimension1):
        matrix[y][x] = int(input("next value starting from (0,0) to (0,1) to at 
        last(dimension1,dimension2) : "))

一种相当简单的方法是在进入列表时追加行。所以,像这样:

def create_matrix(rows, cols):
  matrix = []
  for i in range(rows):
    row = [0]*cols
    matrix.append(row)
  return matrix

我通常只使用numpy来实现这一点。如果你有妞,那你就可以做了

^{pr2}$

(请注意np.零是一个元组,而不是两个参数。)

我想你忘了给fillMatrix一个返回值。在

相关问题 更多 >