python string.format,保留未使用/过度使用的键

python string.format,保留未使用/过度使用的键,python,python-3.x,format,Python,Python 3.x,Format,我有带命名参数的模板字符串(例如msg=“{a}{b}{c}”)和一系列函数,它们返回字典中某些统计计算的结果。我想用这些字典来填充模板。然而,有一个问题。模板中参数的确切数量与字典中的参数数量不同;因此,我不能使用simplemsg.format(**result)。有没有办法克服这个问题,保留未使用的格式块以供进一步使用 这就是我所拥有的: msg.format(a=1,b=2) -> KeyError: 'c' 这就是我想要的: msg.format(a=1,b=2) ->

我有带命名参数的模板字符串(例如
msg=“{a}{b}{c}”
)和一系列函数,它们返回字典中某些统计计算的结果。我想用这些字典来填充模板。然而,有一个问题。模板中参数的确切数量与字典中的参数数量不同;因此,我不能使用simple
msg.format(**result)
。有没有办法克服这个问题,保留未使用的格式块以供进一步使用

这就是我所拥有的:

msg.format(a=1,b=2) -> KeyError: 'c'
这就是我想要的:

msg.format(a=1,b=2) -> "1 2 {c}"

事实上,我可能说得太快了。有一种方法可以使用
.format
,如果您是第一个。然后您可以执行类似于
msg.format(**{**args,**result})
的操作,其中
args={x[1]:'{'+x[1]+'}在Formatter()中表示x。parse(msg)}
@让·弗朗索瓦·法布雷斯复制品看起来不错。你可以在原文中发表答案q@Jean-弗朗索瓦·法布这里的不同之处在于对格言的解包,但我遵从你的判断。将考虑在一个原件上发表答案:FY:张贴在链接副本上。