Проверка, имеет ли значение матрицы значение

Если у меня есть матрица, где она печатает все нули, так:

m=[[0,0,0],[0,0,0],[0,0,0]] 

Я хочу проверить, были ли после того, как я заполнил разные номера, остались ли нули. Просто нужно вернуть логическое значение True или False .

 m=[[1,1,1],[1,1,1],[1,1,1]] >> True m=[[1,1,1],[1,0,1],[1,1,1]] >> False 

Использовать any а not

 >>> m=[[1,1,1],[1,0,1],[1,1,1]] >>> not any(j==0 for i in m for j in i) False >>> m=[[1,1,1],[1,1,1],[1,1,1]] >>> not any(j==0 for i in m for j in i) True 

any возвращает True если какой-либо элемент итерабельности true. Если итерабельность пуста, она возвращает False .

Альтернативное решение, которое использует count_nonzero Numpy вместо списков

 >>> import numpy as np >>> m = [[1,1,1],[1,1,1],[1,1,1]] >>> m = np.asarray(m) >>> np.count_nonzero(m) != m.size False >>> m=[[1,1,1],[1,0,1],[1,1,1]] >>> m = np.asarray(m) >>> np.count_nonzero(m) != m.size True 

Используя all , выражение генератора not in операторе :

 >>> m = [[1,1,1], [1,1,1], [1,1,1]] >>> all(0 not in x for x in m) True >>> m = [[1,1,1], [1,0,1], [1,1,1]] >>> all(0 not in x for x in m) False