矩陣是數(shù)學(xué)中很常用的概念,在Python中,我們可以通過列表來表示一個矩陣,也可以使用NumPy庫中的ndarray數(shù)據(jù)結(jié)構(gòu)來表示。
列表表示矩陣的示例:
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
我們可以通過自己編寫代碼來創(chuàng)建一個自定義矩陣類。下面是一個簡單的實(shí)現(xiàn):
class Matrix: def __init__(self, rows, cols): self.rows = rows self.cols = cols self.data = [[0] * cols for i in range(rows)] def __str__(self): return '\n'.join([' '.join([str(e) for e in row]) for row in self.data]) def __getitem__(self, index): return self.data[index] def __setitem__(self, index, value): self.data[index] = value def set_value(self, row, col, value): self.data[row][col] = value def get_value(self, row, col): return self.data[row][col]
上述代碼中,我們定義了一個Matrix類,它有rows和cols兩個屬性,分別表示矩陣的行數(shù)和列數(shù)。data則是一個二維列表,表示矩陣中的數(shù)據(jù)。我們還定義了__str__、__getitem__、__setitem__等方法,實(shí)現(xiàn)類似于列表的訪問方式。set_value和get_value方法則用于設(shè)置和獲取矩陣中的元素。
有了這個自定義的Matrix類,我們就可以輕松地創(chuàng)建一個矩陣,并對其進(jìn)行操作:
m = Matrix(3, 3) m.set_value(0, 0, 1) m.set_value(0, 1, 2) m.set_value(0, 2, 3) m.set_value(1, 0, 4) m.set_value(1, 1, 5) m.set_value(1, 2, 6) m.set_value(2, 0, 7) m.set_value(2, 1, 8) m.set_value(2, 2, 9) print(m)
運(yùn)行上述代碼后,輸出結(jié)果如下:
1 2 3 4 5 6 7 8 9
可以看到,我們成功地創(chuàng)建了一個3x3的矩陣,并將其中的元素設(shè)置為了1到9的數(shù)字。