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

Python循环中如何通过变量名拼接获取对应变量值?

解决方法

下面提供几种实用方式实现你的需求:

方法1:利用globals()/locals()获取变量字典

这两个函数能直接获取全局或局部作用域的变量字典,通过拼接后的键名取值:

test = ['num1', 'num2']
valuenum1 = 'x'
valuenum2 = 'y'

for i in test:
    print(globals()[f'value{i}'])

运行输出:

x
y

如果变量在局部作用域(比如函数内部),替换成locals()即可。

方法2:用字典存储映射关系(推荐)

这种方式代码可读性更高,也更符合Python编程规范:

test = ['num1', 'num2']
value_dict = {
    'num1': 'x',
    'num2': 'y'
}

for i in test:
    print(value_dict[i])

直接通过字典键值对映射取值,逻辑清晰,还能避免操作全局变量的潜在问题。

方法3:getattr()(适用于类实例变量场景)

如果变量是类的实例属性,可使用该方法:

class ValueStore:
    def __init__(self):
        self.valuenum1 = 'x'
        self.valuenum2 = 'y'

test = ['num1', 'num2']
store = ValueStore()

for i in test:
    print(getattr(store, f'value{i}'))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:10:26