Junior — Middle
Μπορείτε να εξηγήσετε πώς λειτουργεί η συνάρτηση sorted στην Python και πώς ταξινομεί τα δεδομένα;
sobes.tech AI
Απάντηση από AI
Η συνάρτηση sorted στην Python δέχεται ένα επαναληπτικό αντικείμενο (π.χ. μια λίστα, ένα tuple, μια συμβολοσειρά) και επιστρέφει μια νέα ταξινομημένη λίστα, χωρίς να αλλάζει τα αρχικά δεδομένα.
Κατά προεπιλογή, η ταξινόμηση γίνεται σε αύξουσα σειρά, χρησιμοποιώντας την φυσική σειρά των στοιχείων (π.χ. αριθμητική ή λεξικογραφική για συμβολοσειρές).
Μπορείτε να αλλάξετε τη συμπεριφορά της ταξινόμησης με τις παραμέτρους:
key— μια συνάρτηση που εφαρμόζεται σε κάθε στοιχείο για να πάρει την τιμή βάσει της οποίας θα γίνει η ταξινόμηση.reverse— μια boolean παράμετρος, αν είναιTrue, ταξινομεί σε φθίνουσα σειρά.
Παράδειγμα:
numbers = [5, 2, 9, 1]
sorted_numbers = sorted(numbers) # [1, 2, 5, 9]
words = ['apple', 'banana', 'cherry']
sorted_words = sorted(words, key=len) # ταξινόμηση κατά μήκος της λέξης
sorted_desc = sorted(numbers, reverse=True) # [9, 5, 2, 1]
Η Python χρησιμοποιεί τον αλγόριθμο Timsort, ο οποίος είναι αποδοτικός για πραγματικά δεδομένα και σταθερός (διατηρεί τη σειρά των ίσων στοιχείων).