Verwenden sorted()
mit einem key
wie folgt -
>>> unsorted_list = [['a','b','c','5','d'],['e','f','g','3','h'],['i','j','k','4','m']]
>>> sorted(unsorted_list, key = lambda x: int(x[3]))
[['e', 'f', 'g', '3', 'h'], ['i', 'j', 'k', '4', 'm'], ['a', 'b', 'c', '5', 'd']]
Die lambda
kehrt das vierte Element von jedem der inneren und die Listen sorted
Funktion verwendet, dass diejenigen, die Liste zu sortieren. Dies setzt voraus, dass int(elem)
für die Liste nicht fehlschlägt.
Oder nutzen itemgetter
(Wie Ashwini Kommentar darauf hingewiesen, diese Methode nicht funktionieren würde, wenn Sie Zeichenfolge Darstellungen der Zahlen haben, da sie gebunden sind, irgendwo für 2+ stellige Zahlen zum Scheitern verurteilt)
>>> from operator import itemgetter
>>> sorted(unsorted_list, key = itemgetter(3))
[['e', 'f', 'g', '3', 'h'], ['i', 'j', 'k', '4', 'm'], ['a', 'b', 'c', '5', 'd']]
Wollen Sie nach dem zweiten oder nach dem vierten Element sortieren? – Taymon