Re:Python iteration
by dustingetz on Wednesday April 25, 2012 @07:27PM
(#3891616)
interesting. how about
def head(seq): return seq[0]
def rest(seq): return seq[1:]
def transpose(mtx):
a = map(head, mtx)
b = map(rest, mtx)
return [a] + ([transpose(b)] if b[0] else [])
def zip(xs, ys):
return transpose((xs, ys))
def zip2(*seqs):
return transpose(seqs)
this works but is sort of icky in python, any ideas? this is also where functional python starts to fall apart - no tail call recursion, and default data structures aren't persistent. based on a haskell solution which is nicer. http://stackoverflow.com/questions/2578930/understanding-thi...
So I suppose that the truth of "this loop can be written using map" depends on exactly what one means by "map".