beginner wrote:
>
> What I want to do is to reorganize it in groups, first by the middle
> element of the tuple, and then by the first element. I'd like the
> output look like this:
itertools.groupby has already been mentioned, but it has a very specific
and complex behavior which may not be exactly what you need. I found
this handy class:
class groupby(dict):
def __init__(self, seq, key=lambda x:x):
for value in seq:
k = key(value)
self.setdefault(k, []).append(value)
__iter__ = dict.iteritems
which you would use like this:
byfirst = groupby(l, lambda x: x[0])
print byfirst['A']
print byfirst['B']
bysecond = groupby(l, lambda x: x[1])
print bysecond['a']
print bysecond['b']
--
http://mail.python.org/mailman/listinfo/python-list