根据字典

时间:2015-08-07 10:33:27

标签: python performance parsing dictionary

我有两本词典。 一个包含以下方式的数据d['name']=[something,{attribute:placeholder}] 所以一个字典包含一个包含字典的列表(不是我最初说过的数组),其中的值是占位符字母组合而不是唯一的。

另一个词典包含s['placeholder']=value

我想用d中的相应值替换d中的所有占位符。

有什么方法可以有效地做到这一点,而不是通过循环读取d属性中每个条目的s dict?

1 个答案:

答案 0 :(得分:2)

不,你必须循环。你可以在这里使用词典理解:

d = {name: [v[0], {attr: s[placeholder] for attr, placeholder in v[1].items()}]
     for name, v in d.items()}

这将重建整个结构,嵌套字典中的值将替换为通过s映射占位符。