[Bruce Frederiksen]
>>>>  I've added a new function to itertools called 'concat'.  This  
>>>> function is
>>>> much like chain, but takes all of the iterables as a single  
>>>> argument.

[Raymond]
>> Any practical use cases or is this just a theoretical improvement?
>>
>> For Py2.x, I'm not willing to unnecessarily expand the module.
>> However, for Py3k, I'm open to changing the signature for chain().

[Bruce]
> For me, a fraction of chain() uses are of the * variety:
> 
> d = defaultdict(list)
> allvals = chain(*d.values())
> 
> return chain(*imap(cache.__getitem__, keylist))
> 
> Interestingly, they seem to all have something to do with dictionary  
> values() that are themselves iterable.

I see.  These are instances of a recurring general use case of
chain() as a one-level flattener.

Will give consideration to changing the signature of chain() for Py3.0.
Besides the concat() variation using a single iterable input, another
alternative is the min()/max() style signature where one input is
interpreted as iterable and multiple arguments as comprising an
input tuple.


Raymond
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to