[英]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.