在safe_substitution函数中使用多个字典值
我需要一些关于在safe_substitution函数中使用字典值的理解。假设我有两个字典。
import string
dict1={"a":" $b text1" ,"b":"$c text2"}
dict2={"c": "$d text3", "d" : "text4"}
finnal_text = string.template("$a").safe_substitute(dict1)
final_text = string.template("$a").safe_substitute(dict1, dict2)
如果我尝试使用两个字典变量,就会出错……有没有办法在一个safe_substitute函数中使用这两个字典的值呢?
1 个回答
1
dict3 = dict(dict1)
dict3.update(dict2)
finnal_text = string.template("$a").safe_substitute(dict3)
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) )
不过,如果两个字典都有相同的键,那么会使用字典2中的那个键。
你也可以把这个过程提取出来,做成一个函数。