safe_substitution函数中的多个dict值

时间:2014-03-12 23:26:26

标签: python dictionary

需要深入了解如何使用safe_substitution函数中的字典值。 假设我有2个字典

import string

dict1={"a":" $b text1" ,"b":"$c text2"}
dict2={"c": "$d text3", "d" : "text4"}

finnal_text = string.template("$a").safe_substitute(dict1)

finnal_text = string.template(" $ a")。safe_substitute(dict1,dict2)

如果我尝试使用两个dict变量,它会出错...有没有办法在单个safe_substitute func中使用2个dict值。

1 个答案:

答案 0 :(得分:1)

dict3 = dict(dict1)
dict3.update(dict2)
finnal_text = string.template("$a").safe_substitute(dict3)

但是如果两个dicts具有相同的密钥,则将使用来自dict2的密钥或

finnal_text = string.template("$a").safe_substitute( dict(dict1.items()+dict2.items()) )

你可以将它抽象为函数

def dict_merge(*dicts):
    return dict(item for d in dicts for item in d.items())

finnal_text = string.template("$a").safe_substitute( dict_merge(dict1,dict2) )