In Python wordt een matrix weergegeven als een geneste lijst.

Voorbeeld van een matrix

De matrix m = $$ \left[ \begin{array}{ccc} 1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9\\ 10 & 11 & 12\\ \end{array} \right] $$ wordt in Python de lijst m = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]

Een geneste lijst m is een representatie van een wiskundige matrix als elke element van de hoofdlijst opnieuw een lijst is. Elk van deze sublijsten moet een gelijk aantal elementen hebben.

Als in de opgave hieronder een 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.

Opgave

Schrijf een functie verticaal_sorteren die één argument heeft: een geneste lijst die de representatie is van een matrix zoals hierboven gedefinieerd. De functie sorteert de opgegeven matrix verticaal. Dit wil zeggen dat alle getallen per kolom van klein naar groot gezet worden.

De functie retourneert een matrix van dezelfde dimensie als het argument.

Voorbeeld

De matrix $$ \left[ \begin{array}{ccc} 7 & 0 & 3\\ 5 & 8 & 6\\ 6 & 2 & 9\\ 10 & 1 & 12\\ \end{array} \right] $$ wordt na verticale sortering $$ \left[ \begin{array}{ccc} 5 & 0 & 3\\ 6 & 1 & 6\\ 7 & 2 & 9\\ 10 & 8 & 12\\ \end{array} \right] $$

>>> verticaal_sorteren([[7, 0, 3], [5, 8, 6], [6, 2, 9], [10, 1, 12]])
[[5, 0, 3], [6, 1, 6], [7, 2, 9], [10, 8, 12]]