lettura normale

Il metodo split delle stringhe in Python

In questa lezione del corso Python ti spiego come utilizzare il metodo split() nelle stringhe di testo.

Cos'è il metodo split? E' un metodo che ti permette di suddividere una stringa in più parti in base a un carattere separatore specifico. Ad esempio, se hai una stringa "Hello world", il metodo split la suddivide il testo in due sottostringhe "Hello" e "world" usando come separatore lo spazio in bianco.

Il metodo split() è un metodo predefinito degli oggetti di tipo stringa.

stringa.split(separatore,maxsplit)

La sintassi del metodo split si spiega in questo modo

  • La stringa è l'oggetto a cui stai applicando il metodo. E' il testo che vuoi dividere in più parti.
  • Il separatore tra le parentesi tonde è il carattere separatore che vuoi usare per dividere la stringa. Può anche essere una sequenza di caratteri. E' facoltativo.

    Nota. Se non indichi un carattere separatore tra parentesi, Python utilizza lo spazio in bianco come separatore predefinito.

  • Il parametro maxsplit è il numero massimo di suddivisioni della stringa. E' facoltativo.

    Nota. Se non indichi il parametro maxsplit, Python suddivide la stringa senza porsi dei limiti.

Ti faccio un esempio pratico

Crea una stringa chiamata "testo"

>>> testo = "Benvenuti nel meraviglioso mondo della programmazione in Python"

Ora digita testo.split() per suddividere la stringa di testo in una lista di parole

>>> testo.split()

In questo caso non hai indicato un carattere separatore nel metodo split. Quindi, Python utilizza lo spazio come separatore predefinito per suddividere la stringa.

Il risultato in output è una lista di parole.

['Benvenuti', 'nel', 'meraviglioso', 'mondo', 'della', 'programmazione', 'in', 'Python']

Ti faccio un altro esempio.

Definisci la stringa in questo modo.

>>> testo = "mela,pera,banana,kiwi"

Digita testo.split(",") per suddividere la stringa usando come separatore la virgola.

>>> testo.split(",")

In questo caso Python suddivide la stringa usando il carattere della virgola "," come separatore e non più lo spazio.

Il risultato finale è una lista di frutti.

['mela', 'pera', 'banana', 'kiwi']

Nota. Il carattere separatore viene sempre eliminato nel risultato finale. Quindi, se utilizzi un carattere come separatore, non lo vedrai nella lista dei risultati. Ad esempio, nelle stringhe "mela" e "pera" non c'è più la virgola che separava le due parole.

Il metodo split() ti permette anche di indicare il numero massimo delle suddivisioni, utilizzando il parametro maxsplit.

Ad esempio, digita testo.split(",",3)

>>> testo.split(",",3)

In questo caso Python suddivide la stringa sulla base del carattere della virgola "," ma limitando il numero massimo di suddivisioni a tre.

Il risultato finale è una lista con tre stringhe anziché quattro.

['mela', 'pera', 'banana,kiwi']

L''ultimo elemento "banana,kiwi" non è stato suddiviso perché hai indicato a Python di volere al massimo tre suddivisioni della stringa.`

Il carattere separatore può anche essere una stringa

Ad esempio, definisci la stringa in questo modo

>>> testo "Il libro che ti ho prestato"

Poi digita testo.split("che")

>>> testo.split("che")

Python divide la stringa in due parti usando come separatore il termine "che"

Il risultato in output è una lista con due elementi

['il libro', 'ti ho prestato']

Nota. Il termine "che" non è incluso nella lista perché lo hai usato come carattere separatore della stringa.

In conclusione, il metodo split() ti permette di dividere una stringa in più parti ed elaborare separatamente le singole parti del testo. E' molto utile per manipolare i dati di testo,




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin