Een matrix kan weergegeven worden als een geneste lijst.
De matrix m =
$$
\left[
\begin{array}{ccc}
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9\\
\end{array} \right]
$$
wordt in Python de lijst
m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Een geneste lijst is een representatie van een vierkante matrix als elke sublijst evenveel elementen telt als de hoofdlijst.
Als in de opgave hieronder een vierkante matrix gegeven wordt, mag je ervan uitgaan dat dit een geneste lijst is die daaraan voldoet. De lege lijst [] wordt als een correcte matrix beschouwd met 0 rijen en 0 kolommen.
Schrijf een functie diagonaal_sorteren die één argument heeft: een geneste lijst die de representatie is van een vierkante matrix zoals hierboven gedefinieerd. De functie sorteert de elementen op de diagonaal van klein naar groot. De elementen die niet op de diagonaal staan, blijven hetzelfde.
De functie retourneert een matrix van dezelfde dimensie als het argument.
De matrix $$ \left[ \begin{array}{ccc} 12 & 0 & 3\\ 5 & 30 & 6\\ 6 & 2 & 1\\ \end{array} \right] $$ wordt na diagonale sortering $$ \left[ \begin{array}{ccc} 1 & 0 & 3\\ 5 & 12 & 6\\ 6 & 2 & 30\\ \end{array} \right] $$
>>> diagonaal_sorteren([[47, 39, 46], [42, 9, 14], [49, 27, 50]]) [[9, 39, 46], [42, 47, 14], [49, 27, 50]] >>> diagonaal_sorteren([[47, 9, 33], [24, 5, 41], [50, 43, 35]]) [[5, 9, 33], [24, 35, 41], [50, 43, 47]] >>> diagonaal_sorteren([[31, 9], [25, 6]]) [[6, 9], [25, 31]]