How to fill diagonal and below of square list with numbers and above the diagonal with zeros in Python

2 Answers

0 votes
size = 4
lst = [[0] * size for i in range(size)]
for i in range(size):
    for j in range(size):
        if i < j:
            lst[i][j] = 0
        elif i > j:
            lst[i][j] = 2
        else:
            lst[i][j] = 1

for row in lst:
    print(' '.join([str(col) for col in row]))

'''
run:

1 0 0 0
2 1 0 0
2 2 1 0
2 2 2 1

'''

 



answered Oct 26, 2018 by avibootz
0 votes
size = 7
lst = [[0] * size for i in range(size)]
for i in range(size):
    for j in range(size):
        if i < j:
            lst[i][j] = 0
        elif i > j:
            lst[i][j] = 2
        else:
            lst[i][j] = 1

for row in lst:
    print(' '.join([str(col) for col in row]))

'''
run:

1 0 0 0 0 0 0
2 1 0 0 0 0 0
2 2 1 0 0 0 0
2 2 2 1 0 0 0
2 2 2 2 1 0 0
2 2 2 2 2 1 0
2 2 2 2 2 2 1

'''

 



answered Oct 26, 2018 by avibootz
...