我需要通过以下方式访问给定名称的变量:
a = numpy.array([1,2,3])
b = numpy.array([4,5,6])
names = ('a', 'b')
然后,我将变量 names 传递给一个函数,比如 numpy.hstack() 以获得与 numpy.hstack((a,b)) 相同的结果>.
这样做的最佳 pythonic 方法是什么?
目的是什么?我有一个函数,它接受 numpy 数组的名称并将相关数组(在函数中定义)堆叠在一起以处理它们。我需要创建这些数组的所有可能组合,因此:
- 创建了数组名称的组合(元组)。
- 组合(元组)作为参数传递给函数。
- 该函数连接相关数组并处理结果。
希望这个问题不要太神秘。提前感谢您的回复:-)
请您参考如下方法:
您可以使用内置函数locals,它返回表示本地命名空间的字典:
>>> a = 1
>>> locals()['a']
1
>>> a = 1; b = 2; c = 3
>>> [locals()[x] for x in ('a','b','c')]
[1, 2, 3]
您也可以简单地将数组存储在您自己的字典或模块中。
