You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于字典列表动态格式化重复的字符串模板?

动态替换重复模板中的占位符(基于字典列表)

一行代码实现方案

你可以通过重复模板字符串 + 解包字典值的生成器完成动态替换,一行代码就能搞定:

str_template = '''
Part 1: {}
Part 2:
{}'''
l2 = [{'Val1': "c", 'Val2': "d"},{'Val1': "e", 'Val2': "f"}]

# 核心一行代码
result = (str_template * len(l2)).format(*(val for d in l2 for val in (d['Val1'], d['Val2'])))

print(result)

代码解释

  1. str_template * len(l2):根据字典列表的长度重复原始模板,自动匹配需要的占位符数量。比如示例中列表长度为2,模板重复2次后会生成4个{}占位符。
  2. *(val for d in l2 for val in (d['Val1'], d['Val2'])):用嵌套生成器遍历每个字典,按顺序取出Val1和Val2的值,再通过*操作符解包成format()方法需要的位置参数,对应替换所有占位符。

输出结果

运行后会得到:

Part 1: c
Part 2:
d

Part 1: e
Part 2:
f

灵活调整

如果需要调整占位符对应的值顺序,只需修改生成器中(d['Val1'], d['Val2'])的键顺序即可;如果字典的键不同,直接替换成目标键名就行。

内容的提问来源于stack exchange,提问作者anshuk_pal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 12:17:03