Это не само по себе ответ, потому что я полностью игнорирую ваш фрагмент кода по двум причинам:
- Люди (например, @donkopotamus) уже ответили, указав и объяснив ваш код опечатки.
- Я считаю ваш подход излишним (целый класс и специальный метод для простой однострочной)
Для дальнейшего использования, вот простой numpy
подход:
import numpy as np
a = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]
print(np.sum(np.array(a) < 0))
или для решения без numpy:
print(sum([x < 0 for y in a for x in y]))
PS: я использую формат "ответа" вместо простого "комментирования" "из-за ограничений в разделе комментариев и для ясности для будущих искателей решений.