Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,966 questions

51,908 answers

573 users

How to print all diagonals (top-right - bottom-left) in Python

1 Answer

0 votes
def print_diagonals(list2d):
    rows = len(list2d) 
    cols = len(list2d[0])
    
    # From first row
    for start_col in range(cols):
        r, c = 0, start_col
        diag = []
        while r < rows and c >= 0:
            diag.append(list2d[r][c])
            r += 1
            c -= 1
        print(diag)
    
    # From the last column
    for start_row in range(1, rows):
        r, c = start_row, cols - 1
        diag = []
        while r < rows and c >= 0:
            diag.append(list2d[r][c])
            r += 1
            c -= 1
        print(diag)


list2d = [[ 1, -1, 77],
	      [-2, 88, -3],
	      [99, -4,  3]]
	
print_diagonals(list2d)



'''
run:

[1]
[-1, -2]
[77, 88, 99]
[-3, -4]
[3]

'''

 



answered 3 hours ago by avibootz
...