用于修改dict中嵌套列表的简单代码

时间:2014-12-18 21:11:39

标签: python nested-lists

我在python中使用dict,它具有以下内容,基本上它在值集中有一个嵌套列表,现在我想修改嵌套列表。

insn = { "pop":[1,["operand1 = [esp]", "esp = esp + 4"]]}

这就是我正在做的事情

for k,v in insn.items():
    for i, s in enumerate(v):
        v[1][i] = s.replace("old", "new")
    insn.update({k:v})

代码非常混乱,我想知道是否有一种简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:0)

我不完全确定你在这里要做什么。但是假设您想要更改嵌入式列表中的esp或其他字符串,您可以执行以下操作:

for k, v in insn.items():
    for i in range(len(v[1])):
        v[1][i] = v[1][i].replace('esp', 'new_esp')
    insn.update({k:v})
现在你得到了:

>>> insn
{'pop': [1, ['operand1 = [new_esp]', 'new_esp = new_esp + 4']]}