# [Tutor] Nesting lists?

Magnus Lyckå magnus@thinkware.se
Sat Apr 26 05:11:02 2003

```At Fri, 25 Apr 2003 19:13:46 +0100, Alan Gauld wrote:
> > >array in python but a list.  What I'd like to do is something to
>the
> > >effect of:
> > >
> > >data = [data1[], data2[], data3[]]
> > >
>data1 = []
>data2 = []
>data3 = []
>data = [data1, data2, data3]
>
>Or even:
>
>data = [ [], [], [] ]
>
>data[0].append(1)  #-> [ [1], [], [] ]

If you wan't to use this array of array for numeric values,
you might want to have a look at "Numeric", see
http://www.pfdubois.com/numpy/

E.g.

>>> import Numeric
>>> a = Numeric.array([[1,2,3],[4,5,6],[7,8,9]])
>>> b = Numeric.array([[3,2,1],[6,5,4],[9,8,7]])
>>> print a
[[1 2 3]
[4 5 6]
[7 8 9]]
>>> print b
[[3 2 1]
[6 5 4]
[9 8 7]]
>>> c = a * b
>>> print c
[[ 3  4  3]
[24 25 24]
[63 64 63]]
>>> # That was just an elementwise multiplication.
>>> d = Numeric.matrixmultiply(a, b)
>>> print d
[[ 42  36  30]
[ 96  81  66]
[150 126 102]]
>>> # Aha, here we have a proper matrix multiplication.
>>> Numeric.transpose(d)
array([[ 42,  96, 150],
[ 36,  81, 126],
[ 30,  66, 102]])
# etc...

--
Magnus Lycka (It's really Lyck&aring;), magnus@thinkware.se
Thinkware AB, Sweden, www.thinkware.se
I code Python ~ The shortest path from thought to working program

```