Skip to main content
 首页 » 编程设计

python之通过元组中的名称访问变量

2025年05月04日17bjzhanghao

我需要通过以下方式访问给定名称的变量:

a = numpy.array([1,2,3]) 
b = numpy.array([4,5,6]) 
names = ('a', 'b') 

然后,我将变量 names 传递给一个函数,比如 numpy.hstack() 以获得与 numpy.hstack((a,b)) 相同的结果>.

这样做的最佳 pythonic 方法是什么?

目的是什么?我有一个函数,它接受 numpy 数组的名称并将相关数组(在函数中定义)堆叠在一起以处理它们。我需要创建这些数组的所有可能组合,因此:

  1. 创建了数组名称的组合(元组)。
  2. 组合(元组)作为参数传递给函数。
  3. 该函数连接相关数组并处理结果。

希望这个问题不要太神秘。提前感谢您的回复:-)

请您参考如下方法:

您可以使用内置函数locals,它返回表示本地命名空间的字典:

>>> a = 1 
>>> locals()['a'] 
1 
 
>>> a = 1; b = 2; c = 3 
>>> [locals()[x] for x in ('a','b','c')] 
[1, 2, 3] 

您也可以简单地将数组存储在您自己的字典或模块中。