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

如何通过字符串调用同名变量?Python循环场景技术求助

解决方案

你现在的核心问题是想通过字符串(比如"aX")获取同名变量的值,而不是把这个字符串转成整数(这必然报错,因为"aX"不是数字格式)。下面给两种可行的处理方式:

方法一:用字典存储变量(推荐)

把所有类似aX、aY的变量统一存到字典里,通过字符串键来取值,这种方式更规范、安全,也方便管理:

# 预先定义所有需要的位置变量,存入字典
pos_dict = {
    'aX': 10,
    'aY': 20,
    'bX': 30,
    'bY': 40,
    # 继续补充cX到hX、cY到hY的变量值
}

letters = "abcdefgh"
for i in letters:
    posX_key = i + "X"
    posX = pos_dict[posX_key]  # 通过字符串键获取对应变量值
    posY_key = i + "Y"
    posY = pos_dict[posY_key]
    
    # 这里可以直接用posX、posY进行计算
    print(f"{i}位置的X值:{posX},Y值:{posY}")

方法二:通过全局/局部变量字典取值(不推荐)

如果你的aX、aY是全局变量,可以借助globals()函数获取全局变量字典,通过字符串键取值,但这种方式容易导致变量管理混乱,不建议在复杂场景使用:

# 预先定义全局变量
aX = 10
aY = 20
bX = 30
bY = 40
# ...其他变量

letters = "abcdefgh"
for i in letters:
    posX_key = i + "X"
    posX = globals()[posX_key]  # 从全局变量字典中获取对应值
    posY_key = i + "Y"
    posY = globals()[posY_key]
    
    # 后续计算逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:27:29