iter) -> iter:
return filter(predicate, iterable)
objects = [0, 1, True, False, 17, []]
print(*filterfalse(None, objects)) Скажите, почему функция неправильно работает? Правильно: 0 False [] Как выводит: 1 True 17
filter(None) это аналог filter(bool) Возвращает все true-like элементы последовательности
from typing import Callable def filterfalse(predicate: Callable | None, iterable: iter) -> iter: return filter(not predicate, iterable) objects = [0, 1, True, False, 17, []] print(*filterfalse(None, objects)) Ну я вот так пытаюсь сделать, но выводит TypeError: 'bool' object is not callable
логично, ты получил filter(True, ...) а в фильтр передается или callable или None
Обсуждают сегодня