個人的なプロジェクトのために Java に適応させたいと思うかもしれない Python コードのスニペットに出くわしましたが、操作を理解するのに苦労しています。スニペットには次のものが含まれます。
F={}
for stage in range(4):
if stage == 0:
F[stage]=[]
i=0
for j in range(i, len(words)+1):
F[stage].append([cost(i, j), 0])
ここでcost
は、2 つの整数値を取り、数学演算を返す外部定義です。
私が知っていることF={}
から、Java HashMap に類似した辞書を[]
初期化し、リストの初期化を示します。
まず、私は正しいですか、それは次のことをF[stage].append([cost(i, j), 0])
意味します
cost
関数の整数値を取り、- 2 つの値を持つリストを作成し、
- F[ステージ]リストの最後に単一のコンテナとして追加しますか?
第二に、上記のコードに続くこの行部分には困惑しています。
if F[stage-1][i][0] + cost(i, j) ...
私が解釈している方法は、
F[stage - 1]
その場所のリストを取得します[i]
サブリストコンテナにアクセスし、[0]
サブリストの最初のインデックス位置の値を取得します
私は正しい軌道に乗っていますか?