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

使用f-string循环生成字符串时,如何显示原变量名而非循环变量名?

解决方法

问题出在你遍历的是变量的值,循环变量i只是拿到了a、b、c的数值,f"{i=}"自然只会显示循环变量的名字i。要保留原变量名,得把变量名和对应的值绑定在一起处理,推荐两种实现方式:

方式一:手动构造字典(最稳妥)

直接把需要的变量名和对应的值存入字典,遍历字典的键值对生成目标片段:

a = 1
b = 2
c = 3

# 绑定变量名与对应值
var_map = {'a': a, 'b': b, 'c': c}
# 生成每个"变量名=值"的片段
pieces = [f"{name}={value}" for name, value in var_map.items()]
# 用逗号加空格拼接所有片段
result = ', '.join(pieces)
print(result)  # 输出: a=1, b=2, c=3

方式二:利用局部作用域变量(减少重复代码)

通过locals()获取当前局部作用域的变量,指定目标变量名列表来生成结果:

a = 1
b = 2
c = 3

# 指定需要处理的变量名列表
target_vars = ['a', 'b', 'c']
# 从局部变量中取出对应值并生成片段
pieces = [f"{name}={locals()[name]}" for name in target_vars]
result = ', '.join(pieces)
print(result)  # 输出: a=1, b=2, c=3

这种方式不需要重复写变量值,但要确保target_vars里的名字和实际变量名完全一致,避免出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:55:16