numpy – Como puedo adicionar a los elementos [i][j] al lado de la diagonal de la matriz en python

Tengo la siguiente función:

#Matriz con la diagonal
def Q_diag(n,l,mu):
    lis = list(range(n,0,-1))  # lista que parte en n, termina en 1
    mlis = np.array(lis)       #la pasamos a vector
    llu = -(mlis * l + mu)     #multiplicamos por lambda y sumamos mu
    llu(0) = -n*l              #recordamos que el primer valor, es solo -n*lambda
    llu(n-1) = -mu             #el valor de (n,n) es -mu
    mat = llu*np.identity(n)
    return mat

Que me retorna una matriz de nxn con una diagonal con determinados valores (y el resto de elementos de la matriz son ceros).

Mi intención es adicionar elementos al costado derecho de la diagonal. Estos elementos los tengo en la siguiente función:

#Vector con los elementos a la derecha de la diagonal
def Q_post(n,l,mu):
    lisp = list(range(n,1,-1))
    vlisp = np.array(lisp)
    lamb = vlisp*l
    return lamb

Cómo puedo recorrer la matriz?, tal que si:

mat(fila)(columna) = mat(fila)(fila+1)

#reemplazo el valor por:
mat(fila)(columna) = lamb(fila)

Y de esta forma me quede la matriz mat con elementos al costado derecho de la diagonal?