Περισσότερα
Πώς να ταξινομήσετε (λίστα/πολλαπλάσιο) λίστες/πολλαπλάσια με βάση το στοιχείο σε ένα δεδομένο δείκτη;
Έχω κάποια δεδομένα είτε σε μια λίστα από λίστες είτε σε μια λίστα από πλειάδες, όπως αυτή:
data = [[1,2,3], [4,5,6], [7,8,9]]
data = [(1,2,3), (4,5,6), (7,8,9)]
Και θέλω να ταξινομήσω με βάση το 2ο στοιχείο στο υποσύνολο. Δηλαδή, ταξινόμηση κατά 2,5,8, όπου το 2
είναι από το (1,2,3)
, το 5
είναι από το (4,5,6)
. Ποιος είναι ο συνήθης τρόπος για να γίνει αυτό; Πρέπει να αποθηκεύω πλειάδες ή λίστες στη λίστα μου;
573
3
ή:
Η απάντηση του Stephen's είναι αυτή που θα χρησιμοποιούσα. Για την πληρότητα, εδώ'είναι το πρότυπο DSU (decorate-sort-undecorate) με καταλαβαίνεις λίστα:
Ή, πιο συνοπτικά:
Όπως σημειώνεται στο Python Sorting HowTo, αυτό είναι περιττό από την Python 2.4, όταν οι βασικές συναρτήσεις έγιναν διαθέσιμες.