Thanks to visit codestin.com Credit goes to github.com
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 81c7996 commit 67c19e5Copy full SHA for 67c19e5
1 file changed
Doc/library/itertools.rst
@@ -863,10 +863,9 @@ which incur interpreter overhead.
863
"Given a predicate that returns True or False, count the True results."
864
return sum(map(pred, iterable))
865
866
- def all_equal(iterable):
+ def all_equal(iterable, key=None):
867
"Returns True if all the elements are equal to each other."
868
- g = groupby(iterable)
869
- return next(g, True) and not next(g, False)
+ return len(take(2, groupby(iterable, key))) <= 1
870
871
def first_true(iterable, default=False, pred=None):
872
"""Returns the first true value in the iterable.
@@ -1225,6 +1224,8 @@ The following recipes have a more mathematical flavor:
1225
1224
1226
>>> [all_equal(s) for s in ('', 'A', 'AAAA', 'AAAB', 'AAABA')]
1227
[True, True, True, False, False]
+ >>> [all_equal(s, key=str.casefold) for s in ('', 'A', 'AaAa', 'AAAB', 'AAABA')]
1228
+ [True, True, True, False, False]
1229
1230
>>> quantify(range(99), lambda x: x%2==0)
1231
50
0 commit comments