Articolo originale: Python String split() and join() Methods – Explained with Examples
Quando lavori con le stringhe in Python, potresti dover suddividere una stringa in sottostringhe. O potresti aver bisogno di unire pezzi più piccoli per formare una stringa. I metodi delle stringhe di Python split()
e join()
ti aiutano ad eseguire queste operazioni facilmente.
In questo tutorial, imparerai i metodi delle stringhe split()
e join()
con molti esempi di codice.
Poiché le stringhe in Python sono immutabili, puoi chiamare questi metodi su di loro senza modificare le stringhe originali. Iniziamo!
Sintassi del Metodo split()
di Python
Quando hai bisogno di dividere una stringa in sottostringhe, puoi usare il metodo split()
.
Il metodo split()
opera su una stringa e restituisce una lista di sottostringhe. La sintassi è:
<string>.split(sep,maxsplit)
Nella sintassi qui in alto:
<string>
è una qualsiasi stringa valida in Python,sep
è il separatore in corrispondenza del quale vuoi dividere la stringa. Deve essere specificato come stringa.
<string>
sep = ","
sep
è un argomento opzionale. Di default, il metodo divide le stringhe sugli spazi.maxsplit
è un argomento opzionale che indica quante volte vuoi dividere<string>
.maxsplit
ha come valore di default-1
, che divide la stringa su tutte le occorrenze disep
.
<string>
firstmaxsplit = 1
E impostare maxsplit = 1
ti lascerà con due porzioni - una con la sezione di <string>
prima della prima virgola, e un'altra con la sezione di <string>
dopo la prima virgola.
Quando dividi una stringa una volta sola, ottieni 2 porzioni. Quando la dividi due volte, ottieni 3 porzioni. Quando dividi una stringa k
volte, ottieni k+1
porzioni.
▶ Prendiamo alcuni esempi per vedere il metodo split()
in azione.
Esempi del Metodo split()
in Python
Iniziamo con my_string
, mostrata qui sotto.
my_string = "I code for 2 hours everyday"
Ora, chiamiamo il metodo split()
su my_string
, senza gli argomenti sep
e maxsplit
.
my_string.split()
Puoi notare che my_string
è stata divisa in corrispondenza di tutti gli spazi e che viene restituita una lista di sottostringhe, come mostrato in alto.
▶ Prendiamo ora in considerazione il seguente esempio. Qui, my_string
contiene nomi di frutti separati da virgole.
my_string = "Apples,Oranges,Pears,Bananas,Berries"
Dividiamo ora my_string
in corrispondenza delle virgole – imposta sep = ","
o specifica solo ","
nella chiamata del metodo.
my_string.split(",")
Come previsto, il metodo split()
restituisce una lista di frutti, dove ogni frutto in my_string
è ora un elemento della lista.
▶ Usiamo ora anche l'argomento opzionale maxsplit
impostandolo su 2.
my_string.split(",",2)
Proviamo ad analizzare la lista restituita.
Ricorda che my_string
è "Apples,Oranges,Pears,Bananas,Berries"
, e abbiamo deciso di dividerla in corrispondenza delle virgole (","
).
- La prima virgola si trova dopo
Apples
, e dopo la prima divisione avrai due elementi,Apples
eOranges,Pears,Bananas,Berries
. - La seconda virgola si trova dopo
Oranges
. E avrai 3 elementi,Apples
,Oranges
, ePears,Bananas,Berries
dopo la seconda divisione. - A questo punto,
maxsplit
ha raggiunto il valore 2, e non si può fare nessun'altra divisione. - Ecco perché la porzione di stringa dopo la seconda virgola è ammassata insieme in un solo elemento nella lista restituita.
Spero che tu abbia capito come funzionano il metodo split()
e gli argomenti sep
e maxsplit
.
Sintassi del Metodo join()
di Python
Ora che sai come dividere una stringa in sottostringhe, è il momento di imparare come usare il metodo join()
per formare una stringa a partire dalle sottostringhe.
La sintassi del metodo di Python join()
è:
<sep>.join(<iterable>)
Qui,
<iterable>
è un qualsiasi elemento iterabile di Python che contenga delle sottostringhe, ad esempio, una lista o una tupla, e<sep>
è il separatore che vorresti usare per unire le stringhe.
join()
<iterable>
<sep>
▶ Ed è il momento per gli esempi.
Esempi del Metodo join()
di Python
Nella sezione precedente sul metodo split()
, hai diviso my_string
in una lista sulle occorrenze delle virgole. Chiamiamo la lista my_list
.
Ora formerai una stringa usando il metodo join()
per mettere insieme gli elementi nella lista restituita. Gli elementi in my_list
sono tutti nomi di frutti.
my_list = my_string.split(",")
# dopo che my_string è stata divisa my_list è:
['Apples', 'Oranges', 'Pears', 'Bananas', 'Berries']
📑 Nota che il separatore per unire deve essere specificato come stringa. Incorrerai in errori di sintassi se non lo fai, come mostrato in basso.
,.join(my_list)
▶ Per unire gli elementi in my_list
usando una virgola come separatore, usa ","
non ,
. Questo viene mostrato nella porzione di codice qui in basso.
", ".join(my_list)
La riga di codice in alto unisce gli elementi in my_list
usando una virgola seguita da uno spazio come separatore.
Puoi specificare un qualunque separatore a tua scelta. Questa volta, userai 3 trattini bassi (___
) per unire gli elementi in my_list
.
"___".join(my_list)
Gli elementi in my_list
adesso sono stati uniti in una sola stringa, e sono separati l'uno dall'altro da ___
.
E adesso sai come formare una stringa di Python mettendo insieme delle sottostringhe usando il metodo join()
.
Conclusione
In questo tutorial, hai imparato che:
<string>.split(sep, maxsplit)
divide<string>
sulle occorrenze disep
, un numero di volte uguale amaxsplit
,<sep>.join(<iterable>)
unisce le sottostringhe in<iterable>
usando<sep>
come separatore.
Spero che tu abbia trovato utile questo tutorial. Buona programmazione!