Python 3中如何批量输出序列命名的变量并拼接结果
解决方法:不用逐个写endn变量实现拼接
当然可行!你现在循环里的问题是,print(f"end{i}")只是输出了end1、end2这类字符串字面量,而不是对应变量里存储的字符。下面给你两种实用的方案,优先推荐第一种哦:
方案1:用列表存储字符(最推荐)
把所有要拼接的字符放进一个列表里,这是Python里处理这类场景最规范的方式,代码简洁又易读:
# 把字符统一存到列表中 ends = ["C", "h", "e"] # 用join方法快速拼接成完整字符串 print(''.join(ends))
如果想体验循环拼接的过程,也可以这样写:
ends = ["C", "h", "e"] result = "" for char in ends: result += char print(result)
方案2:通过变量名字符串获取变量值(不推荐新手常用)
如果你一定要通过end{i}这种变量名的形式来取值,可以借助globals()函数(它会返回当前全局作用域的变量字典):
end1 = "C" end2 = "h" end3 = "e" result = "" for i in range(1, 4): # 从全局变量字典中取出对应变量的值 result += globals()[f"end{i}"] print(result)
⚠️ 注意:这种方法虽然能实现需求,但不太推荐——如果变量名拼写错误、或者变量不在全局作用域里,很容易报错。日常开发中还是用列表的方式更稳妥。
内容的提问来源于stack exchange,提问作者lmark
相关产品推荐
相关产品推荐

