> No, it's nothing special about groupby. record simply stores its state in a > mutable default parameter. This isn't general good practice: at least you have > to be careful with it. You can see the behavior in the following example: > >>> def accumulate(value, accum = []): > ... accum.append(value) > ... return accum > ... > >>> accumulate(1) > [1] > >>> accumulate(2) > [1, 2] > >>> accumulate(6) > [1, 2, 6] > >>>
Wow.... I'd never seen this kind of thing in examples of Python code. Although its really neat, it doesn't really make sense, intuituvely to me. Why does accum remember its state - I suppose its to do with the scope of arguments (as opposed to method variables) or something like that? Still, thats powerful. But I see why its not standard use - it could be easily abused! -- http://mail.python.org/mailman/listinfo/python-list