Itertools wishlists

Robert Brewer fumanchu at amor.org
Mon Mar 14 12:53:18 EST 2005


Steven Bethard wrote:
> Ville Vainio wrote:
> > A simpler API:
> > 
> > def flatten(sequence, atomic_test = lambda o: 
> isinstance(o,basestring)):
> >   """ don't recurse into iterables if atomic_test -> True """
> 
> Yes, this is also the API I would have suggested.  Simple, 
> but flexible enough to handle the odd cases with the occasional 
> user-defined iterable non-containers.

If there are two or three common atomic_test's they could also be placed
into itertools globals (with better names, of course ;):

def is_string(item):
    return isinstance(item, basestring)

def flatten(seq, atomic_test = is_string):
    ...


Perhaps atomic_test could allow a tuple or list of tests and combine
them...?


Robert Brewer
MIS
Amor Ministries
fumanchu at amor.org



More information about the Python-list mailing list