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

如何在Python中格式化字符串与字典列表用于邮件正文

实现方案

可以通过字符串拼接结合列表推导式,针对每种列表类型编写对应格式化逻辑,最终整合出符合要求的邮件正文字符串:

a = ['1.1.1.1', '2.2.2.2', '3.3.3.3']
b = [{'IP': '1.1.1.1'}, {'IP': '2.2.2.2'}, {'IP': '3.3.3.3'}]
c = [{'ID': 'dasfsdfs', 'IP': '1.1.1.1', 'Name': 'me'}, {'ID': 'qwrfgvzx', 'IP': '2.2.2.2', 'Name': 'you'}]

# 格式化字符串列表a
formatted_a = '\n'.join(a)
# 格式化单键字典列表b
formatted_b = '\n'.join([f"IP: {d['IP']}" for d in b])
# 格式化多键字典列表c:每个字典的键值对分行,字典间空一行
formatted_c = '\n\n'.join(['\n'.join([f"{k}: {v}" for k, v in item.items()]) for item in c])

# 拼接成邮件正文
my_email = f'''
a_var -->
{formatted_a}

b_var -->
{formatted_b}

c_var -->
{formatted_c}
'''

print(my_email)

各部分逻辑说明:

  1. 字符串列表a:直接用'\n'.join(a)将列表元素按换行符拼接,让每个元素单独占一行。
  2. 单键字典列表b:通过列表推导式遍历每个字典,提取IP对应的值并格式化为IP: 地址的字符串,再用换行符拼接所有结果。
  3. 多键字典列表c:
    • 内层遍历单个字典的键值对,将其格式化为键: 值的字符串,并用换行符拼接成该字典的内容块;
    • 外层遍历所有字典,用\n\n(空一行)拼接不同字典的内容块,实现字典之间的分隔。

运行代码后,输出格式完全匹配你要求的邮件正文样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:52:56