[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å), magnus@thinkware.se
Thinkware AB, Sweden, www.thinkware.se
I code Python ~ The shortest path from thought to working program