Question about idioms for clearing a list

Magnus Lycka lycka at carmen.se
Fri Feb 10 10:29:56 EST 2006


Bryan Olson wrote:
> Magnus Lycka wrote:
> 
>> Bryan Olson wrote:
>>>     big_union = set()
>>>     for collection in some_iter:
>>>         big_union.update(t)
>>>         collection.clear()
>>
>> I don't understand the second one. Where did 't' come from?
> 
> Cut-and-past carelessness. Meant to update with 'collection'.

If some_iter gives you dicts, the code above will throw away
your values, and put the set of keys in big_union. Is that what
you meant to do? I suspect most people would find this somewhat
surprising. For sets and "BryanLists" it will put a set of all
the contents of those collections in big_union. I think this
just verifies my previous arguments. It's rarely meaningful to
write functions that are meaingful for all builtin collections.



More information about the Python-list mailing list