Η ταξινόμηση μιας λίστας σε Python σάς επιτρέπει να τακτοποιείτε τα στοιχεία της σε αύξουσα ή φθίνουσα σειρά.

Αντί να γράφει μεγάλα τμήματα κώδικα για να το κάνει αυτό, η Python έχει μια ενσωματωμένη μέθοδο που σας επιτρέπει να ταξινομήσετε τα στοιχεία σε οποιαδήποτε λίστα ή πίνακα. Θα σας εξηγήσουμε πώς να το κάνετε αυτό σε αυτήν την ανάρτηση.

Πώς να ταξινομήσετε μια λίστα στο Python

Μπορείτε να ταξινομήσετε τα στοιχεία σε μια λίστα ή πίνακα χρησιμοποιώντας το Python είδος() μέθοδος.

ο είδος() Η μέθοδος στο Python δέχεται δύο προαιρετικά ορίσματα και η σύνταξη μοιάζει με αυτήν:

list.sort (key = function, reverse = True / False).

Από προεπιλογή, το είδος() Η μέθοδος τακτοποιεί τα στοιχεία μιας λίστας με αύξουσα σειρά:

myList = ["C", "D", "B", "A", "F"]
myList.sort ()
εκτύπωση (myList)
Έξοδος: ['A', 'B', 'C', 'D', 'F']

Μπορείτε να χρησιμοποιήσετε το ΑΝΤΙΣΤΡΟΦΗ όρισμα για προβολή της λίστας με φθίνουσα σειρά:

myList = ["C", "D", "B", "A", "F"]
myList.sort (αντίστροφη = True)
εκτύπωση (myList)
Έξοδος: ['F', 'D', 'C', 'B', 'A']

Μπορείτε επίσης να τακτοποιήσετε τα στοιχεία σε μια λίστα με το μήκος κάθε συμβολοσειράς.

Για να το κάνετε αυτό, δημιουργήστε μια συνάρτηση και περάστε την στο είδος() μέθοδος χρησιμοποιώντας το προαιρετικό κλειδί διαφωνία:

myList = ["MUO", "Python", "JavaScript", "Ταξινόμηση", "Ταξινόμηση"]
def sortLength (είδος):
επιστροφή len (είδος)
myList.sort (αντίστροφη = True, key = sortLength)
εκτύπωση (myList)
Έξοδος: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']

Πώς να ταξινομήσετε μια λίστα λεξικών στο Python

Μπορείτε να χρησιμοποιήσετε το είδος() μέθοδος για να ταξινομήσετε μια λίστα λεξικών επίσης.

Ας ταξινομήσουμε τις εργασίες στο παρακάτω λεξικό ανάλογα με την ώρα τους:

myArray = [
{"Εργασία": "Πλύσιμο", "Ώρα": 12.00},
{"Εργασία": "Ποδόσφαιρο", "Ώρα": 24.00},
{"Εργασία": "Ταξινόμηση", "Ώρα": 17.00},
{"Εργασία": "Κώδικας", "Ώρα": 15.00}
]
def sortByTime (στοιχείο):
επιστροφή αντικειμένου ["Time"]
myArray.sort (key = sortByTime)
εκτύπωση (myArray)

Δεδομένου ότι οι τιμές του χρόνου είναι ακέραιοι, το παραπάνω μπλοκ κώδικα αναδιατάσσει τον πίνακα βάσει του χρόνου εργασίας.

Σχετιζομαι με: Πώς λειτουργούν οι πίνακες και οι λίστες στο Python

Εκτός από την ταξινόμηση του πίνακα πάνω από το χρόνο, μπορείτε επίσης να το τακτοποιήσετε αλφαβητικά χρησιμοποιώντας τις εργασίες, οι οποίες είναι συμβολοσειρές.

Για να ταξινομήσετε κατά συμβολοσειρά στο παράδειγμα πίνακα, πρέπει να αλλάξετε μόνο χρόνος στο τετράγωνο αγκύλη έως Εργο:

myArray = [
{"Εργασία": "Πλύσιμο", "Ώρα": 12.00},
{"Εργασία": "Ποδόσφαιρο", "Ώρα": 24.00},
{"Εργασία": "Ταξινόμηση", "Ώρα": 17.00},
{"Εργασία": "Κώδικας", "Ώρα": 15.00}
]
def sortByTime (στοιχείο):
επιστροφή αντικειμένου ["Εργασία"]
myArray.sort (key = sortByTime)
εκτύπωση (myArray)

Μπορείτε επίσης να ταξινομήσετε τις εργασίες με αντίστροφη σειρά ρυθμίζοντας ΑΝΤΙΣΤΡΟΦΗ σε αλήθεια:

myArray.sort (key = sortByTime, αντίστροφη = True)

Μπορείτε επίσης να χρησιμοποιήστε μια συνάρτηση λάμδα με είδος() για καθαρότερο κωδικό:

myArray.sort (key = lambda getTime: getTime ["Ώρα"])
εκτύπωση (myArray)

Πώς να ταξινομήσετε μια λίστα με ένθετα Python

Μπορείτε να ταξινομήσετε μια ένθετη λίστα πλειάδων με το ευρετήριο κάθε ένθετου στοιχείου σε αυτήν τη λίστα.

Για παράδειγμα, ο παρακάτω κώδικας χρησιμοποιεί το τρίτο στοιχείο σε κάθε πλειάδα για να ταξινομήσει τη λίστα με αύξουσα σειρά:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (α):
επιστρέψτε ένα [2]
Alist.sort (key = sortByThirdIndex)
εκτύπωση (Alist)
Έξοδος: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Στην έξοδο παραπάνω, το τρίτο στοιχείο σε κάθε πλειάδα αυξάνεται από μηδέν σε είκοσι διαδοχικά.

Λάβετε υπόψη ότι αυτό δεν λειτουργεί με ένα σύνολο Python, καθώς δεν μπορείτε να το ευρετηριάσετε. Επιπλέον, κάθε φωλιά στη λίστα πρέπει να ανήκει στον ίδιο τύπο δεδομένων.

Σχετιζομαι με: Τι είναι ένα σετ στο Python και πώς να δημιουργήσετε ένα

Ωστόσο, για να τακτοποιήσετε την έξοδο σε φθίνουσα σειρά:

Alist.sort (key = getIndex, reverse = True)
εκτύπωση (Alist)
Έξοδος: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Ας δούμε πώς φαίνεται αυτό με ένα λάμδα λειτουργούν επίσης:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = ταξινομημένο (Alist, key = lambda a: a [2])
εκτύπωση (newList)
Έξοδος: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Τρόπος ταξινόμησης λίστας χρησιμοποιώντας τη μέθοδο ταξινόμησης ()

Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το ταξινομημένο () μέθοδος.

Αν και λειτουργεί παρόμοια με το είδος() μέθοδος, δημιουργεί μια νέα ταξινομημένη λίστα χωρίς τροποποίηση του πρωτοτύπου. Η διάταξη σύνταξης είναι επίσης ελαφρώς διαφορετική.

Η σύνταξη για το ταξινομημένο () Η μέθοδος μοιάζει γενικά ως εξής:

ταξινομημένο (list, key = function, reverse = True / False)

Έτσι, για να ταξινομήσετε μια λίστα χρησιμοποιώντας το ταξινομημένο () μέθοδος, πρέπει να δημιουργήσετε μια νέα μεταβλητή για την ταξινομημένη λίστα:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (α):
επιστρέψτε ένα [2]
newList = ταξινομημένο (Alist, key = getIndex)
εκτύπωση (newList)
Έξοδος: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

ο ταξινομημένο () Η μέθοδος δέχεται επίσης ένα λάμδα λειτουργεί ως κλειδί του:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = ταξινομημένο (Alist, key = lambda a: a [2])
εκτύπωση (newList)
Έξοδος: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Πού μπορείτε να εφαρμόσετε ταξινόμηση λίστας;

Απαραίτητη κατανόηση της μεθόδου ταξινόμησης Python είναι απαραίτητη για αποτελεσματικό προγραμματισμό. Σας επιτρέπει να ελέγχετε τον τρόπο με τον οποίο έρχεται μια λίστα ή μια σειρά και μπορείτε πάντα να την εφαρμόζετε σε έργα πραγματικής ζωής. Για παράδειγμα, η ταξινόμηση μιας λίστας Python μπορεί να είναι χρήσιμη κατά την αναδιάταξη δεδομένων από ένα API ή μια βάση δεδομένων, οπότε είναι πιο λογικό για έναν τελικό χρήστη.

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Πώς να προσθέσετε μια λίστα στο Python

Εργάζεστε με λίστες στο Python; Να τι πρέπει να γνωρίζετε σχετικά με τη χρήση της συνάρτησης Python append όταν εργάζεστε με λίστες.

Διαβάστε Επόμενο

Σχετικά θέματα
  • Προγραμματισμός
  • Πύθων
  • Εκμάθηση κωδικοποίησης
Σχετικά με τον Συγγραφέα
Idowu Omisola (Δημοσιεύθηκαν 66 άρθρα)

Το Idowu είναι παθιασμένο με οτιδήποτε έξυπνη τεχνολογία και παραγωγικότητα. Στον ελεύθερο χρόνο του, παίζει με την κωδικοποίηση και αλλάζει στη σκακιέρα όταν βαριέται, αλλά αγαπά επίσης να ξεφεύγει από τη ρουτίνα κάποτε. Το πάθος του για να δείξει στους ανθρώπους το δρόμο γύρω από τη σύγχρονη τεχνολογία τον παρακινεί να γράφει περισσότερα.

Περισσότερα από το Idowu Omisola

Εγγραφείτε στο Newsletter μας

Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Ένα ακόμη βήμα…!

Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.

.