Matrici sghembe

Considera delle matrici dove ogni riga della matrice può avere una lunghezza diversa

A = [ [2, 7], [1, 0] ]           # 2x2 
B = [ [12], [1, 2], [0, 4, 5] ]  # Triangolare... 
C = [ [1, 8, 5], [0, 5, -1] ]    # 2x3

Copia

def copia(m1):
    nr=len(m1) 
    m2=[] 
    for r in range(nr): 
        riga=[]
        nc=len(m1[r])
        for c in range(nc):   
            riga.append(m1[r][c]) 
        m2.append(riga) 
    return m2

print(copia(A))
print(copia(B))
print(copia(C))

Prodotto per uno scalare

def scalare(k, m1):
    nr=len(m1) 
    m2=[] 
    for r in range(nr): 
        riga=[]
        nc=len(m1[r])
        for c in range(nc):   
            riga.append(k*m1[r][c])
        m2.append(riga) 
    return m2

print(scalare(2, A))
print(scalare(2, B))