[英]2d list / matrix in python
我正在嘗試在python中創建4x4矩陣類...
我有這樣創建的矩陣-
class matrix:
self.matrix = [[0 for x in range(4)] for y in range(4)]
我試圖像這樣訪問此矩陣中的索引-
myMatrix = matrix()
print(myMatrix.matrix[0][0])
但是我收到一條錯誤消息
AttributeError: myMatrix instance has no attribute '__getItem__'
我試圖像這樣在我的矩陣類中添加一個方法-
def getValue(self, x, y):
return self.matrix[x][y]
但我收到一條錯誤消息,提示TypeError:列表索引必須為整數
即使當我嘗試self.matrix [0] [0]時,它說它們必須是整數,關於如何在python中獲得簡單的2d列表/矩陣功能的任何想法嗎?
我只希望能夠創建4x4 2d列表/矩陣並訪問和更改其中的元素?
Yuo應該首先使用__init__
方法初始化矩陣:
class matrix:
def __init__(self):
self.matrix = [[0 for x in range(4)] for y in range(4)]
myMatrix = matrix()
print(myMatrix.matrix[0][0]) # => 0
現在,您可以創建getValue
,這對以后的使用來說更好:
class matrix:
def __init__(self):
self.matrix = [[0 for x in range(4)] for y in range(4)]
def getValue(self, x, y):
return self.matrix[x][y]
myMatrix = matrix()
print(myMatrix.matrix[0][0]) # => 0
print(myMatrix.getValue(0, 0)) # => 0
使用__init__
方法初始化矩陣,並定義如何通過__getitem__
的索引獲取元素。
class matrix:
def __init__(self):
self.matrix = [[0 for x in range(4)] for y in range(4)]
def __getitem__(self, item):
return self.matrix[item]
m = matrix()
print(m[0][0]) # 0
但是,如前所述,除非需要為矩陣實現某些特殊的額外功能,否則可以使用numpy
和其他適當的包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.