Commit dbe3d280 authored by Raymond Hettinger's avatar Raymond Hettinger

Adopt Christian Stork's suggested argument order for the logic quantifiers.

Adopt Jeremy Fincher's suggested function name, "any", instead of "some".
parent 2f726e90
...@@ -344,19 +344,19 @@ def nth(iterable, n): ...@@ -344,19 +344,19 @@ def nth(iterable, n):
"Returns the nth item" "Returns the nth item"
return list(islice(iterable, n, n+1)) return list(islice(iterable, n, n+1))
def all(pred, seq): 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) return False not in imap(pred, seq)
def some(pred, seq): 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 at least one element in the iterable"
return True in imap(pred, seq) return True in imap(pred, seq)
def no(pred, seq): 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) return True not in imap(pred, seq)
def quantify(pred, seq): 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"
return sum(imap(pred, seq)) return sum(imap(pred, seq))
......
...@@ -504,19 +504,19 @@ Samuele ...@@ -504,19 +504,19 @@ Samuele
... "Returns the nth item" ... "Returns the nth item"
... return list(islice(iterable, n, n+1)) ... return list(islice(iterable, n, n+1))
>>> def all(pred, seq): >>> 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) ... return False not in imap(pred, seq)
>>> def some(pred, seq): >>> 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) ... return True in imap(pred, seq)
>>> def no(pred, seq): >>> 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) ... return True not in imap(pred, seq)
>>> def quantify(pred, seq): >>> 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"
... return sum(imap(pred, seq)) ... return sum(imap(pred, seq))
...@@ -571,25 +571,25 @@ perform as purported. ...@@ -571,25 +571,25 @@ perform as purported.
>>> nth('abcde', 3) >>> nth('abcde', 3)
['d'] ['d']
>>> all(lambda x: x%2==0, [2, 4, 6, 8]) >>> all([2, 4, 6, 8], lambda x: x%2==0)
True True
>>> all(lambda x: x%2==0, [2, 3, 6, 8]) >>> all([2, 3, 6, 8], lambda x: x%2==0)
False False
>>> some(lambda x: x%2==0, [2, 4, 6, 8]) >>> any([2, 4, 6, 8], lambda x: x%2==0)
True True
>>> some(lambda x: x%2==0, [1, 3, 5, 9]) >>> any([1, 3, 5, 9], lambda x: x%2==0,)
False False
>>> no(lambda x: x%2==0, [1, 3, 5, 9]) >>> no([1, 3, 5, 9], lambda x: x%2==0)
True True
>>> no(lambda x: x%2==0, [1, 2, 5, 9]) >>> no([1, 2, 5, 9], lambda x: x%2==0)
False False
>>> quantify(lambda x: x%2==0, xrange(99)) >>> quantify(xrange(99), lambda x: x%2==0)
50 50
>>> list(window('abc')) >>> list(window('abc'))
......
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