Можно ли как-то стандартными средствами упростить код?
Хочу применить конъюнкцию ко всем значениям словаря. Набросал такой код:
d = {1: True, 2: True}
rez = True
for val in d.values():
rez = rez and val
print(rez)
Выглядит он так себе... Можно ли красиво его как-то сделать? Может есть что из стандарта?
Ответы (2 шт):
Автор решения: Sinelnikov Alexander
→ Ссылка
Конкретно в случае логического и (или) можно использовать min (max):
d = {1: True, 2: True}
rez = min(d.values())
print(rez)
Автор решения: insolor
→ Ссылка
Обычно для такого используется функция all - она проверяет, что все значения в итерируемом объекте истинные.
d = {1: True, 2: True}
rez = all(d.values())
print(rez)
Есть похожая функция any - она проверяет, что есть хотя бы один истинный элемент. Это соответствует оператору or.