Проверить, что все элементы списка соответствуют условию

Допустим есть список N - длинны элементов, как проверить, что все его элементы больше нуля. И если это так, то вывести из функции булевое значение равное True. Пробовал через разные циклы реализовать (В частотности через for … in …:), так и ничего не вышло.

Пробовал что-то типа такого кода:

for pangram in pangrams:
    if pangram != 0:
        pass

Ответы (5 шт):

Автор решения: Danis
def f(list_):
    return len(list(filter(lambda x: x > 0, list_))) == len(list_)

с помощью filter оставляем только те элементы которые больше нулю, превращаем в список, сравниваем длину получившегося списка и начального

либо так:

def f(list_):
    return min(list_) >= 0
→ Ссылка
Автор решения: Zhihar

воспользоваться стандартной функцией all:

arr = [1, 2, -3]

res = all(map(lambda x: x > 0, arr))

чуть более короткий вариант с использованием того же подхода:

res = all([x > 0 for x in arr])

совет от CrazyElf делает код еще короче:

res = all(x > 0 for x in arr)

P.S.

немного изврата с использованием стандартных функций:

res = len(list(filter(lambda x: x <= 0, arr))) == 0

или тоже самое, но чуть короче:

res = list(filter(lambda x: x <= 0, arr)) == []
→ Ссылка
Автор решения: CrazyElf

Добавлю функционального изврату )

from operator import lt
from functools import partial

print(all(map(partial(lt, 0), [1, 2, 3, -1])))
print(all(map(partial(lt, 0), [1, 2, 3, 4])))
print(all(map(partial(lt, 0), [1, 2, 0, 4])))

Вывод:

False
True
False

Хотя тут получается как бы наоборот - проверяется, что 0 меньше каждого из элементов списка.

→ Ссылка
Автор решения: vp_arth

Как альтернатива:

not any(x<=0 for x in [1, 2, 5, 4, 0]) # False
not any(x<=0 for x in [1, 2, 5, 4, 7]) # True
→ Ссылка
Автор решения: insolor

Функция, эквивалентная конструкции all(x > 0 for x in arr):

def all_positive(pangrams):
    for pangram in pangrams:
        if pangram <= 0:
            # Если встретился элемент не больше нуля, сразу выходим из функции и возвращаем False
            return False  
    
    # Если дошли до сюда, значит все элементы больше нуля (или список пустой),
    #  возвращаем True 
    return True
→ Ссылка