コンストラクターで作成されたenvという名前のネストされたリストと、次のように定義されたグリッドの要素を設定する別のメソッドがあります。
class Environment(object):
def __init__(self,rowCount,columnCount):
env = [[ None for i in range(columnCount)] for j in range(rowCount) ]
return env
def addElement(self, row, column):
self[row][column] = 0
コードの後半で、次を実行して Environment のインスタンスを作成します。
myEnv = createEnvironment(6,6)
次に、次を実行して要素を環境に追加します。
myEnv.addElement(2,2)
したがって、グリッドの 2,2 の位置に 0 を持つ 6x6 グリッドとして新しい環境オブジェクトを受け取ることが予想されました。しかし、それはうまくいきませんでした。
2 つのエラーがあります。
- initメソッドから None 以外を返すことができません。
実行しようとしたときの主な問題
addElement(2, 2)
は、次のエラーが発生することです。"TypeError: 'Environment' object does not support indexing.
__getitem__
メソッドとメソッドを調べました__setitem__
が、多次元リストで機能させることができませんでした。グリッドを作成するために使用すべきより良いデータ構造はありますか?