[Numpy-discussion] Variable in an array name?

Paul Anton Letnes paul.anton.letnes at gmail.com
Wed Jan 12 11:02:46 EST 2011


On 12. jan. 2011, at 16.40, dstaley wrote:

> 
> 
> Zachary Pincus-2 wrote:
>> 
>>> Is it possible to use a variable in an array name?  I am looping  
>>> through a
>>> bunch of calculations, and need to have each array as a separate  
>>> entity.
>>> I'm pretty new to python and numpy, so forgive my ignorance.  I'm  
>>> sure there
>>> is a simple answer, but I can't seem to find it.
>>> 
>>> let's say i have a variable 'i':
>>> 
>>> i = 5
>>> 
>>> I would like my array to have the name array5
>>> 
>>> I know how I could do this manually, but not in a loop where i is  
>>> redefined
>>> several times.
>> 
>> There are ways to do this, but what you likely actually want is just  
>> to put several arrays in a python list and then index into the list,  
>> instead of constructing numbered names.
>> 
>> e.g.:
>> 
>> array_list = []
>> 
>> for whatever:
>>   array_list.append(numpy.array(whatever))
>> 
>> for array in array_list:
>>   do_something(array)
>> 
>> given_array = array_list[i]
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>> 
>> 
> 
> 
> Thank you very much for the prompt response.  I have already done what you
> have suggested, but there are a few cases where I do need to have an array
> named with a variable (looping through large numbers of unrelated files and
> calculations that need to be dumped into different analyses).  It would be
> extraordinarily helpful if someone could post a solution to this problem,
> regardless of inefficiency of the method.  Thanks a ton for any additional
> help.
> -- 
This may be obvious, but I sometimes forget myself: have you tried python dicts?
>>> from numpy import *
>>> a = linspace(0,10)
>>> b = a.copy()
>>> d = {'array1':a, 'array2':b}
>>> for key in d:
...     dosomething(d[key])
That way, you can assign a name / key for each array variable, and use this name for file names, or whatever you need names for.

Cheers
Paul.










More information about the NumPy-Discussion mailing list