mirror of
https://github.com/python/cpython.git
synced 2025-11-28 22:18:54 +00:00
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:
parent
2f726e9093
commit
dbe3d280e7
2 changed files with 15 additions and 15 deletions
|
|
@ -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
|
||||||
... "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'))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue