Kaydet (Commit) 4533f1fb authored tarafından Raymond Hettinger's avatar Raymond Hettinger

Improve three recipes in the itertools docs.

üst 513c8bd6
...@@ -458,15 +458,21 @@ def nth(iterable, n): ...@@ -458,15 +458,21 @@ def nth(iterable, n):
def all(seq, pred=bool): def all(seq, pred=bool):
"Returns True if pred(x) is True for every element in the iterable" "Returns True if pred(x) is True for every element in the iterable"
return False not in imap(pred, seq) for elem in ifilterfalse(pred, seq):
return False
return True
def any(seq, pred=bool): def any(seq, pred=bool):
"Returns True if pred(x) is True at least one element in the iterable" "Returns True if pred(x) is True for at least one element in the iterable"
return True in imap(pred, seq) for elem in ifilter(pred, seq):
return True
return False
def no(seq, pred=bool): def no(seq, pred=bool):
"Returns True if pred(x) is False for every element in the iterable" "Returns True if pred(x) is False for every element in the iterable"
return True not in imap(pred, seq) for elem in ifilter(pred, seq):
return False
return True
def quantify(seq, pred=bool): def quantify(seq, pred=bool):
"Count how many times the predicate is True in the sequence" "Count how many times the predicate is True in the sequence"
......
...@@ -746,15 +746,21 @@ Samuele ...@@ -746,15 +746,21 @@ Samuele
>>> def all(seq, pred=bool): >>> def all(seq, pred=bool):
... "Returns True if pred(x) is True for every element in the iterable" ... "Returns True if pred(x) is True for every element in the iterable"
... return False not in imap(pred, seq) ... for elem in ifilterfalse(pred, seq):
... return False
... return True
>>> def any(seq, pred=bool): >>> def any(seq, pred=bool):
... "Returns True if pred(x) is True for at least one element in the iterable" ... "Returns True if pred(x) is True for at least one element in the iterable"
... return True in imap(pred, seq) ... for elem in ifilter(pred, seq):
... return True
... return False
>>> def no(seq, pred=bool): >>> def no(seq, pred=bool):
... "Returns True if pred(x) is False for every element in the iterable" ... "Returns True if pred(x) is False for every element in the iterable"
... return True not in imap(pred, seq) ... for elem in ifilter(pred, seq):
... return False
... return True
>>> def quantify(seq, pred=bool): >>> def quantify(seq, pred=bool):
... "Count how many times the predicate is True in the sequence" ... "Count how many times the predicate is True in the sequence"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment