0

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

我有一个函数可以创建一个空矩阵,其尺寸由数组的大小和数组的宽度决定。我需要使用第一个数组中的字符填充此列表。现在,当我编译它时,我只得到None。有什么方法可以完成这个不同的

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
4

3 回答 3

0

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

于 2013-04-24T23:28:12.163 回答
0

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

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

我通常会为此使用numpy。如果你有 numpy,那么你可以这样做

import numpy as np
matrix = np.zeros((rows,cols))

(请注意, np.zeros 的输入是一个元组,而不是两个参数。)

于 2013-04-25T05:43:30.827 回答
0
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) : "))
于 2019-01-23T09:20:00.547 回答