Question: Is it possible to assign a single numpy object to several variables in one go?

For instance, I have many variables that I'd like to initiate with `np.zeros((2,), dtype=np.object)`

I thought of doing `a,b,c = np.zeros((2,), dtype=np.object)` but got a `ValueError`. `a=b=c=np.zeros((2,), dtype=np.object)` doesn't work either because if I change one variable the others also change.

With three variables like the example above it isn't a problem to do it manually but when I have dozens it would be convenient to be able to do this in a more effient way.

EDIT - 
A more concrete example would be:

```
a = np.zeros((2,),dtype=np.object)
b = np.zeros((2,),dtype=np.object)
c = np.zeros((2,),dtype=np.object)

a[0] = pd.Series(data=np.random.rand(10))
a[1] = pd.Series(data=np.random.rand(5))

b[0] = 'text1'
b[1] = 'text2'

c[0] = [0,0,0,0,0,0,0,0,0]
c[1] = [1,1,1,1,1]

data = {'a':a, 'b':b, 'c':c}

sio.savemat('test.mat',{'data':data})

```

Answer: 
Use a list comprehension:

```
>>> a, b, c = [np.zeros((2,), dtype=np.object) for _ in xrange(3)]
>>> [id(x) for x in (a,b,c)]      
[172542064, 171775688, 168893512] #Different objects

```

If you're planning to add dozens of variables like this, [then better use a dictionary](http://nedbatchelder.com/blog/201112/keep_data_out_of_your_variable_names.html):

```
>>> my_vars = {x:np.zeros((2,), dtype=np.object) for x in 'abcdef'}
>>> my_vars
{'a': array([0, 0], dtype=object), 'c': array([0, 0], dtype=object), 'b': array([0, 0], dtype=object), 'e': array([0, 0], dtype=object), 'd': array([0, 0], dtype=object), 'f': array([0, 0], dtype=object)}

```
*The below is absolutely **not** recommended, but cool nevertheless*

```
locals().update({
    'x%d' % i : np.zeros((2,), dtype=np.object)
    for i in range(3)
})
print x2
=> array([0, 0], dtype=object)

```

But, again, don't do it. Use a list (for example) instead.