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

Adopt Jeremy Fincher's suggested function name, "any", instead of "some".
This commit is contained in:
Raymond Hettinger 2003-10-05 16:47:36 +00:00
parent 2f726e9093
commit dbe3d280e7
2 changed files with 15 additions and 15 deletions

View file

@ -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))

View file

@ -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.
>>> 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'))