如何在Python中使用循环从单独的变量创建数组?

2024-09-27 00:22:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有大约130个包含数值的不同变量 变量类似于ratio70, ratio71, ratio72,...ratio220。 因此,变量从70220运行,我想用它创建一个数组,这样我就可以进一步使用这个数组来绘制图形 我试过了

    ratioarr= (np.array(ratio%i) for i in range (70,220))

但这也不行。我不想键入所有变量名来形成数组。有更简单的方法吗


Tags: in图形for键入np绘制range数组
3条回答

您可以使用eval()动态生成变量名:

print([eval('ratio' + str(i)) for i in range(70, 221)])

您可以使用locals()或globals()字典,它们分别包含本地和全局范围内的所有变量。 所以可能是这样的:

ratioarr = np.array([locals()["ratio" + str(i)] for i in range (70,220)])

您可以在循环中使用exec函数创建如下数组

ratioarr = list()
for x in range(70,220):
    exec(f"ratioarr.append(ratio{x})")

相关问题 更多 >

    热门问题