map() return of flat tuple list
Mirco Wahab
peace.is.our.profession at gmx.de
Fri Jun 23 04:11:08 EDT 2006
Thus spoke bearophileHUGS at lycos.com (on 2006-06-23 00:57):
> Maybe you want something like this (but this doesn't use map):
> [(r,c) for r, row in enumerate(m) for c in xrange(len(row))]
Ahh, its a 'list comprehension', nice. Now,
lets see how the decorate/undecorate sort
turns out to look in Python:
arr = [
[3,3,3,3],
[3,3,3,1],
[3,3,3,3] ]
print \
sorted(
[ (j,i) for j, row in enumerate(arr) for i in xrange(len(row)) ],
lambda a,b: (arr[a[0]][a[1]] - arr[b[0]][b[1]])
)[ 0 ]
==> prints indices: (1,3)
He, this looks more like Haskell than like
Python (for me, it looks awful ;-)
I'll try to come up with at least one
map inside the comprehension, if that
works - just to avoid the dual for ;-)
Reagrds and thanks
Mirco
More information about the Python-list
mailing list