簡體   English   中英

無法在python中填充空矩陣

[英]Trouble filling an empty matrix in python

我有一個從包含[鍵,字符]的記錄生成的數組

我有一個函數,該函數創建一個空矩陣,其大小由數組的大小和數組的寬度確定。 我需要使用第一個數組中的字符填充此列表。 現在,當我對此進行編譯時,我只會得到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

我認為您只是忘了給fillMatrix一個返回值。

一種相當簡單的方法是在轉到列表時追加行。 因此,如下所示:

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

我通常只會為此使用numpy 如果你有麻木,那么你可以做

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

(請注意,np.zeros的輸入是一個元組,而不是兩個參數。)

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) : "))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM