I have a colleague who is allergic to mutating data structures. Yeah, I know, he needs to just HTFU but I thought I'd humour him.
Suppose I have an iterator that yields named tuples: Parrot(colour='blue', species='Norwegian', status='tired and shagged out') and I want to collect them by colour: accumulator = {'blue': [], 'green': [], 'red': []} for parrot in parrots: accumulator[parrot.colour].append(parrot) That's pretty compact and understandable, but it require mutating a bunch of pre-allocated lists inside an accumulator. Can we re-write this in a functional style? The obvious answer is "put it inside a function, then pretend it works by magic" but my colleague's reply to that is "Yes, but I'll know that its actually doing mutation inside the function". Help me humour my colleague. -- Steve -- https://mail.python.org/mailman/listinfo/python-list