interchanging rows and columns

Ruud de Rooij * at spam.ruud.org
Sat Oct 14 06:22:46 EDT 2000


johannes at zellner.org (Johannes Zellner) writes:

> how can I turn
>    [[1, 2, 3], [4, 5, 6]]
> into
>    [[1, 4], [2, 5], [3, 6]]

The pythonic way to do these things seems to be to simply write a
nested for loop, something like this:

def transpose(m):
  n = []
  for i in range(len(m[0])):
    r = []
    for j in range(len(m)):
      r.append(m[j][i])
    n.append(r)
  return n

If you really want to use a solution that uses map, you could use
something like:

def transpose(m):
  return map(lambda i,m=m:map(lambda x,i=i:x[i], m),range(len(m[0])))

	- Ruud de Rooij.
-- 
ruud de rooij | *@spam.ruud.org | http://ruud.org



More information about the Python-list mailing list