*Memo:
filterfalse() can return the iterator which returns the elements of iterable one by one if predicate returns False as shown below:
*Memo:
- The 1st argument is
predicate(Required-Type:Callable/NoneType):- If it's
None,Falseelements are returned fromiterable. - Don't use
predicate=.
- If it's
- The 2nd argument is
iterable(Required-Type:Iterable):- Don't use
iterable=.
- Don't use
from itertools import filterfalse
v = filterfalse(lambda: False, [])
print(v)
# <itertools.filterfalse object at 0x0000026906CE8910>
print(next(v))
# StopIteration:
from itertools import filterfalse
v = filterfalse(lambda a: a < 2, [0, -1, 2, -3, 4])
print(next(v)) # 2
print(next(v)) # 4
print(next(v)) # StopIteration:
from itertools import filterfalse
v = filterfalse(None, [0, -1, False, 2, None, -3, '', 4, [], -5, (), 6])
print(next(v)) # 0
print(next(v)) # False
print(next(v)) # None
print(next(v)) # Nothing
print(next(v)) # []
print(next(v)) # ()
print(next(v)) # StopIteration:
from itertools import filterfalse
for x in filterfalse(lambda a: a < 2, [0, -1, 2, -3, 4]):
print(x)
# 2
# 4
from itertools import filterfalse
for x in filterfalse(None, [0, -1, False, 2, None, -3, '', 4, [], -5, (), 6]):
print(x)
# 0
# False
# None
# Nothing
# []
# ()
takewhile() can return the iterator which takes(returns) the elements of iterable one by one while predicate returns True, then drops the rest of elements of iterable once predicate returns False as shown below:
*Memo:
- The 1st argument is
predicate(Required-Type:Callable/NoneType):- Don't use
predicate=.
- Don't use
- The 2nd argument is
iterable(Required-Type:Iterable):- Don't use
iterable=.
- Don't use
from itertools import takewhile
v = takewhile(lambda: True, [])
print(v)
# <itertools.takewhile object at 0x0000026906F68C40>
print(next(v))
# StopIteration:
from itertools import takewhile
v = takewhile(lambda a: a < 2, [0, -1, 2, -3, 4])
print(next(v)) # 0
print(next(v)) # -1
print(next(v)) # StopIteration:
from itertools import takewhile
for x in takewhile(lambda a: a < 2, [0, -1, 2, -3, 4]):
print(x)
# 0
# -1
dropwhile() can return the iterator which drops the elements of iterable while predicate returns True, then returns the rest of elements of iterable one by one once predicate returns False as shown below:
*Memo:
- The 1st argument is
predicate(Required-Type:Callable/NoneType):- Don't use
predicate=.
- Don't use
- The 2nd argument is
iterable(Required-Type:Iterable):- Don't use
iterable=.
- Don't use
from itertools import dropwhile
v = dropwhile(lambda: False, [])
print(v)
# <itertools.dropwhile object at 0x0000026906F696C0>
print(next(v))
# StopIteration:
from itertools import dropwhile
v = dropwhile(lambda a: a < 2, [0, -1, 2, -3, 4])
print(next(v)) # 2
print(next(v)) # -3
print(next(v)) # 4
print(next(v)) # StopIteration:
from itertools import dropwhile
for x in dropwhile(lambda a: a < 2, [0, -1, 2, -3, 4]):
print(x)
# 2
# -3
# 4
Top comments (0)