On Mon, 25 Apr 2011 16:48:42 -0700, Raymond Hettinger wrote: > Here's a handy utility function for you guys to play with: > > http://code.activestate.com/recipes/577676/
Nice. That's similar to itertools.groupby except that it consolidates all the equal key results into one list, instead of in consecutive runs. Also groupby returns iterators instead of lists, which makes it a PITA to work with. map_reduce is much more straightforward to use. Example given in the code: >>> map_reduce(range(30), even_odd) {0: [10, 12, 14, 16, 18, 20], 1: [11, 13, 15, 17, 19]} >>> [(key[0], list(group)) for key,group in groupby(range(30), even_odd) if key is not None] [(0, [10]), (1, [11]), (0, [12]), (1, [13]), (0, [14]), (1, [15]), (0, [16]), (1, [17]), (0, [18]), (1, [19]), (0, [20])] So... when can we expect map_reduce in the functools module? :) -- Steven -- http://mail.python.org/mailman/listinfo/python-list