使用另一个列表中的值更新一个列表中的值

时间:2015-05-21 06:15:18

标签: python

我有以下代码,它使用更小的列表(cmd.cmd_list)中的新值更新列表(rsp.rsp_list)中的值。如何以更加pythonic的方式执行以下操作?

   for i in rsp.rsp_list:
        for j in cmd.cmd_list.data:
            if i.common.id == j.id:
                i.common.value.CopyFrom(j.val)

1 个答案:

答案 0 :(得分:1)

内存和执行时间之间的典型交易:

cmd_data = {cmd.id: cmd.value for cmd in cmd.cmd_list}
for rsp in rsp.rsp_list:
    if rsp.common.id in cmd_data:
        rsp.common.value.CopyFrom(cmd_data[rsp.common.id])