我有以下代码,它使用更小的列表(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)
答案 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])