[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