在safe_substitution函数中使用多个字典值

0 投票
1 回答
526 浏览
提问于 2025-04-17 22:02

我需要一些关于在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中的那个键。

你也可以把这个过程提取出来,做成一个函数。

撰写回答