Найти по отдельности число положительных и равных нулю элементов в совокупности тех строк матрицы, 1-й элемент которых больше 1, а также найти общую сумму элементов этих строк — Python(Питон)

array = [[2,    0,      12,     7,      -5],
         [9,    6,      0,      -2,     8],
         [-1,   10,     0,      -4,     17],
         [4,    -1,     -2,     4,      10],
         [-13,   0,      -3,     0,      0]]
 
p = 0
z = 0
s = 0
 
for x in range(0, len(array)):
    if array[x][0] > 1:
        p += len([y for y in array[x] if y > 0])
        z += len([y for y in array[x] if y == 0])
        s += sum(array[x])
print "\t" + str(p) + " positives, " + str(z) + " zeros, " + "sum: " + str(s)
array = [[2,    0,      12,     7,      -5],
         [9,    6,      0,      -2,     8],
         [-1,   10,     0,      -4,     17],
         [4,    -1,     -2,     4,      10],
         [-13,   0,      -3,     0,      0]]
 
import itertools
 
data = (((1 if e > 0 else 0), (1 if e == 0 else 0), e)
        for e in itertools.chain.from_iterable(row for row in array if row[0] > 1))
print('positive = {} zero = {} sum = {}'.format(*map(sum, zip(*data))))

Leave a Comment