feature request: a better str.endswith

Michele Simionato mis6 at pitt.edu
Mon Jul 21 14:04:25 EDT 2003


chrisperkins37 at hotmail.com (Chris Perkins) wrote in message news:<45228044.0307210522.1ef95144 at posting.google.com>...
> def the(pred,seq): return True in itertools.imap(pred,seq)

BTW, this suggest to me two short idiomas for multiple "or" and multiple "and",
with shortcut behavior:

def imultior(pred,iterable):
    return True in itertools.imap(pred,iterable)

def imultiand(pred,iterable):
    return not(False in itertools.imap(pred,iterable))

Nevertheless, they seem to be slower than the non-iterator-based
implementation :-( (at least in some preliminary profiling I did
using a list and a custom defined predicate function)

def multiand(pred,iterable):
    istrue=True
    for item in iterable:
        istrue=istrue and pred(item)
        if not istrue: return False
    return True

def multior(pred,iterable):
    istrue=False
    for item in iterable:
        istrue=istrue or pred(item)
        if istrue: return True
    return False

 M.




More information about the Python-list mailing list