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

Python:通过字符串名称在for循环中调用并输出数组

解决方法

方法1:通过命名空间字典获取变量值

你可以利用Python的globals()(全局变量)或locals()(局部变量)函数,它们会返回包含当前作用域所有变量的字典,通过拼接好的变量名字符串作为键,就能拿到对应的数组:

import numpy as np

A_foo = [1, 2, 3]
B_foo = [4, 5, 6]

for i in ["A", "B"]:
    var_name = i + '_foo'
    # 获取变量对应的数组,转成numpy数组输出
    arr = np.array(globals()[var_name])
    print(arr)

输出结果:

[1 2 3]
[4 5 6]

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

直接操作命名空间变量不是最佳实践,更规范的方式是提前把变量放到字典里,通过键值对的方式访问,代码可读性和安全性更高:

import numpy as np

# 用字典存储前缀和数组的映射
foo_dict = {
    "A": [1, 2, 3],
    "B": [4, 5, 6]
}

for prefix in ["A", "B"]:
    arr = np.array(foo_dict[prefix])
    print(arr)

输出结果与方法1一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:29:50