我遇到了一段Python代码,我可能想要适应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
是外部DEF,取入两个整数值,并返回一个数学运算。
从我所知道的,F={}
初始化一个类似于Java HashMap的字典,[]
表示一个列表的初始化。
首先,我是纠正F[stage].append([cost(i, j), 0])
装置
- 采取
cost
函数的整数值, - 创建具有两个值,并
- 列表追加它作为一个单一容器的端F [舞台]名单?
其次,以上代码的这一行部分让我难堪。
if F[stage-1][i][0] + cost(i, j) ...
我解释它的方式是
F[stage - 1]
在位置[i]
检索列表访问子表容器和[0]
在第一个索引位置检索值子列表
我在正确的跟踪?
请问您可以包含“代价”代码吗? – xxmbabanexx 2013-03-11 01:36:24
你显示的Python代码确实令人困惑。例如,它循环了四个阶段,但对1-3没有任何作用......我不确定你是否真的想复制它,除非你已经删除了更多。 – Blckknght 2013-03-11 01:39:44
@Blckknght,有一些我没有包含的代码。我在这里要做的是理解数据结构操作与Java相关的内容。实质上,这个问题更多地是Python代码澄清的数据访问和检索问题。 – Jason 2013-03-11 01:53:36