Revised the itertools quantifier recipes to match the performance of the

new builtins.
This commit is contained in:
Raymond Hettinger 2005-03-11 22:17:30 +00:00
parent 96229b1918
commit f77d0334f3
2 changed files with 16 additions and 16 deletions

View File

@ -461,26 +461,26 @@ def nth(iterable, n):
"Returns the nth item"
return list(islice(iterable, n, n+1))
def all(seq, pred=bool):
"Returns True if pred(x) is True for every element in the iterable"
def all(seq, pred=None):
"Returns True if pred(x) is true for every element in the iterable"
for elem in ifilterfalse(pred, seq):
return False
return True
def any(seq, pred=bool):
"Returns True if pred(x) is True for at least one element in the iterable"
def any(seq, pred=None):
"Returns True if pred(x) is true for at least one element in the iterable"
for elem in ifilter(pred, seq):
return True
return False
def no(seq, pred=bool):
"Returns True if pred(x) is False for every element in the iterable"
def no(seq, pred=None):
"Returns True if pred(x) is false for every element in the iterable"
for elem in ifilter(pred, seq):
return False
return True
def quantify(seq, pred=bool):
"Count how many times the predicate is True in the sequence"
def quantify(seq, pred=None):
"Count how many times the predicate is true in the sequence"
return sum(imap(pred, seq))
def padnone(seq):

View File

@ -799,26 +799,26 @@ Samuele
... "Returns the nth item"
... return list(islice(iterable, n, n+1))
>>> def all(seq, pred=bool):
... "Returns True if pred(x) is True for every element in the iterable"
>>> def all(seq, pred=None):
... "Returns True if pred(x) is true for every element in the iterable"
... for elem in ifilterfalse(pred, seq):
... return False
... return True
>>> def any(seq, pred=bool):
... "Returns True if pred(x) is True for at least one element in the iterable"
>>> def any(seq, pred=None):
... "Returns True if pred(x) is true for at least one element in the iterable"
... for elem in ifilter(pred, seq):
... return True
... return False
>>> def no(seq, pred=bool):
... "Returns True if pred(x) is False for every element in the iterable"
>>> def no(seq, pred=None):
... "Returns True if pred(x) is false for every element in the iterable"
... for elem in ifilter(pred, seq):
... return False
... return True
>>> def quantify(seq, pred=bool):
... "Count how many times the predicate is True in the sequence"
>>> def quantify(seq, pred=None):
... "Count how many times the predicate is true in the sequence"
... return sum(imap(pred, seq))
>>> def padnone(seq):