Проверить, являются ли все элементы списка ложными
Напишите функцию на Python под названием none(lst, fn = lambda x: x)
, которая принимает список lst
и необязательную функцию fn
в качестве аргументов. Функция должна возвращать True
, если все элементы списка ложные, и False
в противном случае. Если предоставлена необязательная функция fn
, она должна использоваться для определения истинности каждого элемента в списке.
Для определения того, является ли элемент ложным, вы можете использовать те же правила, что и функция bool()
в Python. В общем, следующие значения считаются ложными:
False
None
0
(целое число)
0.0
(число с плавающей точкой)
''
(пустая строка)
[]
(пустой список)
{}
(пустой словарь)
()
(пустой кортеж)
set()
(пустое множество)
Если предоставлена необязательная функция fn
, она должна принимать один аргумент и возвращать булево значение. Функция будет вызываться для каждого элемента в списке, и возвращаемое значение будет использоваться для определения истинности элемента.
def none(lst, fn = lambda x: x):
return all(not fn(x) for x in lst)
none([0, 1, 2, 0], lambda x: x >= 2 ) ## False
none([0, 0, 0]) ## True