How to fill diagonal and above of square list with numbers 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] = 2
        elif i == j:
            lst[i][j] = 1

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

'''
run:

1 2 2 2
0 1 2 2
0 0 1 2
0 0 0 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] = 2
        elif i == j:
            lst[i][j] = 1

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

'''
run:

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

'''

 



answered Oct 26, 2018 by avibootz
...