Συμβολοσειρά Python | Split() και πώς να το χρησιμοποιήσετε

© metamorworks / Shutterstock.com

Η Python είναι η πιο δημοφιλής γλώσσα προγραμματισμού στον κόσμο, και αυτό χάρη σε εργαλεία όπως Χορδή | Διαιρέστε(). Βλέπετε, η Python ενσωματώνει πολλές εγγενείς συντομεύσεις και εναλλακτικούς τρόπους κωδικοποίησης, κάτι που κάνει τη ζωή απείρως ευκολότερη για τους νέους προγραμματιστές.

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

Ας βουτήξουμε!

Τι είναι η αλυσίδα | Μέθοδος Split();

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

Μπορείτε να προσεγγίσετε τάξεις με μια ποικιλία εργαλείων που περιλαμβάνονται εγγενώς στην Python. Η Split() είναι μία από αυτές τις προκαθορισμένες κλάσεις και λειτουργεί αποκλειστικά με συμβολοσειρές.

Οι χορδές έχουν τη δική τους συλλογή μεθόδων. Οι μέθοδοι λειτουργούν ως συνάρτηση ειδικά σχεδιασμένη για μία κλάση και δεν μπορούν να λειτουργήσουν σε καμία άλλη εκτός από την εκχωρημένη.

Έτσι, η μέθοδος split() μπορεί (όπως υποδηλώνει το όνομα) να χωρίσει μια συμβολοσειρά και στη συνέχεια να επιστρέψει μια νέα λίστα με βάση τα αποτελέσματα. Μπορούμε να καθορίσουμε τι θέλουμε να επιστρέψει βάσει συγκεκριμένων παραμέτρων, αλλά ας μπούμε πρώτα στα βασικά.

Χορδή | Σύνταξη Split().

Η σύνταξη κατά την εργασία με το Split() είναι πολύ απλή, γεγονός που την κάνει πραγματικά ελκυστική τόσο για νέους όσο και για έμπειρους προγραμματιστές.

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

Η δεύτερη παράμετρος, μέγιστη διάσπαση, είναι ο μέγιστος αριθμός φορών που χωρίζεται η συμβολοσειρά. Αν δεν το προσδιορίσουμε, τότε το -1 έχει οριστεί από προεπιλογή, που σημαίνει άπειρο αριθμό διαιρέσεων.

Ας δούμε τώρα πώς μοιάζουν όλα:

©Histoire-Informatique.com

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

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

Δείγματα κωδικών

Ας δούμε πώς λειτουργεί το Split όταν ορίζουμε α διαχωριστής.

©Histoire-Informatique.com

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

Χορδή | Split() με μέγιστο αριθμό διαχωρισμών

Όταν η παράμετρος maxsplit λάβει μια τιμή, η ανάδραση σταματά σε αυτόν τον καθορισμένο αριθμό.

©Histoire-Informatique.com

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

Γιατί να χρησιμοποιήσετε το String | Διαιρέστε()?

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

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

Αυτό είναι όταν μπορείτε να εκτιμήσετε την πλήρη ισχύ του split().

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

Με τη μέθοδο split(), μπορείτε να τροποποιήσετε οποιοδήποτε έγγραφο κειμένου σαν να ήταν συμβολοσειρά. Απλώς καθορίστε τις παραμέτρους (αν χρειάζεται) και είστε έτοιμοι. Δημιουργείται μια νέα λίστα, έτοιμη για όποιες αλλαγές μπορείτε να σκεφτείτε.

Ας γράψουμε ένα δείγμα κειμένου για να το επεξεργαστούμε. Ας φανταστούμε ότι είναι ένα έγγραφο .txt που εισάγουμε στον κώδικα:

©Histoire-Informatique.com

Τώρα που έχουμε ένα έγγραφο, ας δούμε πώς λειτουργεί η σύνταξη.

©Histoire-Informatique.com

Η δυνατότητα "με" είναι ένας διαχειριστής περιβάλλοντος που μας επιτρέπει να καλέσουμε και να χρησιμοποιήσουμε ένα αρχείο σε ένα έργο Python.

Χρησιμοποιώντας τη μέθοδο read(), αποθηκεύετε το έγγραφο σε μια νέα μεταβλητή. Στη συνέχεια εφαρμόζουμε τη Split() στη μεταβλητή που περιέχει το κείμενο και ορίζουμε το θαυμαστικό ως διαχωριστικό. Στη συνέχεια δημιουργείται μια νέα λίστα στοιχείων.

Τέλος, κάθε στοιχείο στη λίστα εκτυπώνεται χρησιμοποιώντας έναν βρόχο for. Ας ρίξουμε μια ματιά στην έξοδο:

©Histoire-Informatique.com

Είναι σωτήριο όταν εργάζεστε με μεγάλα έγγραφα κειμένου! Μπορείτε να αρχίσετε να βλέπετε ότι υπάρχει πραγματική χρησιμότητα στη μέθοδο string.split(): εξοικονομεί χρόνο και πόρους ενώ κάνει τον κώδικα πιο καθαρό και ευκολότερο στον εντοπισμό σφαλμάτων.

Συνηθισμένα λάθη που πρέπει να αποφύγετε

Ένα συνηθισμένο λάθος κατά τη χρήση της split() είναι η εισαγωγή ενός διαχωριστικού ή χαρακτήρα που δεν περιέχει η επιλεγμένη συμβολοσειρά. Ας δούμε τι θα επέστρεφε η Split() σε αυτήν την περίπτωση:

©Histoire-Informatique.com

Όπως μπορείτε να δείτε, η Split() δεν προκαλεί σφάλμα, αλλά αντ' αυτού εκτυπώνει ένα μεμονωμένο στοιχείο από μια λίστα που περιέχει τη συμβολοσειρά. Μπορεί στην πραγματικότητα να είναι χειρότερο από ό,τι όταν κάποιο μέρος του κώδικά σας παρουσιάζει σφάλμα, επειδή μπορεί να είναι πιο δύσκολο να βρεθεί και να εντοπιστεί σφάλματα. Λάβετε αυτό υπόψη όταν εργάζεστε με μεγάλες βάσεις δεδομένων, καθώς αυτό το σφάλμα μπορεί να προκαλέσει τον κώδικά σας να παράγει παράλογες συμβολοσειρές δεδομένων.

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

Όταν δύο ή περισσότερα λευκά κενά εμφανίζονται διαδοχικά σε μια συμβολοσειρά, η Split() την αντιμετωπίζει σαν να ήταν ένα ενσωματωμένο λευκό διάστημα.

Ας δούμε ένα παράδειγμα:

©Histoire-Informatique.com

Τώρα παίρνουμε κάτι πολύ διαφορετικό όταν προσδιορίζουμε ένα χώρο ως διαχωριστικό. Το αποτέλεσμα που επιστρέφεται θα ποικίλλει επειδή η Split() θεωρεί τα δύο επιπλέον λευκά κενά ως διαφορετικούς χαρακτήρες.

©Histoire-Informatique.com

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

Συμπέρασμα: Python String | Διαιρέστε και πώς να το χρησιμοποιήσετε

Ήταν αρκετή βόλτα! Ας δούμε τι μάθαμε.

Η Split() είναι μια απλή αλλά απίστευτα χρήσιμη μέθοδος που μας επιτρέπει να χειριζόμαστε οποιαδήποτε πληροφορία είναι αποθηκευμένη ως συμβολοσειρά, όπως ονόματα, διευθύνσεις και τυχόν δεδομένα που παρουσιάζονται ως χαρακτήρες Unicode.

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

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

Τώρα είναι η ώρα να ανοίξετε τον επεξεργαστή κώδικα και να δοκιμάσετε το Split() στα έργα σας. Καλή τύχη!

Συμβολοσειρά Python | Split() και πώς να το χρησιμοποιήσετε FAQ (Συχνές ερωτήσεις)

Πότε κυκλοφόρησε η Python;

Η Python κυκλοφόρησε το 1991, από τον δημιουργό της Guido van Rossum, ως διάδοχος της γλώσσας προγραμματισμού ABC. Η Python 2.0 εμφανίστηκε για πρώτη φορά το 2000. Η τρέχουσα έκδοση, Python 2.7.18, κυκλοφόρησε το 2020.

Ποια είναι η διαφορά μεταξύ μιας μεθόδου και μιας συνάρτησης;

Είναι τεχνικά τα ίδια, αλλά γενικά ισχύουν για διαφορετικές εργασίες. Μια μέθοδος είναι μια συνάρτηση που μπορεί να λειτουργήσει μόνο σε μια συγκεκριμένη κλάση. Από την άλλη πλευρά, μπορείτε να αντιστοιχίσετε συναρτήσεις για εργασία με οποιονδήποτε τύπο μεταβλητής.

Είναι η Python μια δημοφιλής γλώσσα προγραμματισμού;

Μαζί με τη C, την Java και πολλές άλλες, η Python είναι μια από τις πιο δημοφιλείς γλώσσες προγραμματισμού στον κόσμο λόγω της απλότητας και της δυνατότητας εφαρμογής της στον αναπτυσσόμενο κόσμο της ανάλυσης δεδομένων.

Μπορώ να χρησιμοποιήσω τη Split() για να επιστρέψω μέρος μιας συμβολοσειράς;

Οχι. Για μια τέτοια εργασία, θα χρειαστεί να χρησιμοποιήσετε ένα άλλο εργαλείο Python που ονομάζεται τελεστής Slicing. Η μέθοδος Split επιστρέφει πάντα την πλήρη συμβολοσειρά χωρισμένη σε μια νέα λίστα.

Είναι διαθέσιμο το Split() σε άλλη γλώσσα προγραμματισμού;

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

Για να διαβάσετε επίσης