# Split in Python: come dividere le stringhe

Con split il [linguaggio di programmazione web](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/linguaggi-programmazione-web/) Python vi offre un modo per dividere le stringhe in punti fissi. L’aspetto esatto di questa suddivisione è determinato dai due parametri separator e maxsplit.

## Cos’è split in Python?

In alcuni casi può essere utile o addirittura necessario dividere una [stringa in Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/stringhe-in-python/ "Stringhe in Python"). Il metodo appropriato è split. La suddivisione viene solitamente effettuata in corrispondenza degli spazi di una stringa e può essere controllata da diversi parametri. Esistono diverse forme di split in Python che possono essere utili a seconda dell’applicazione.

## Sintassi e funzionalità di split in Python

La sintassi di base di split in Python è la seguente:

```none
string.split(separator, maxsplit)
```

separator e maxsplit sono i due parametri che possono essere utilizzati facoltativamente. Se non viene specificato alcun parametro, split divide la stringa corrispondente per ogni singolo spazio. Il parametro separator specifica **quale stringa deve essere divisa**. Ogni volta che ciò avviene, si verifica la suddivisione corrispondente. Con maxsplit potete specificare **la frequenza con cui la stringa deve essere divisa**. Se non specificate questo parametro, il programma eseguirà un numero infinito di suddivisioni.

## Semplici esempi di split in Python con separator

Tre semplici esempi sono adatti a illustrare come si può dividere una stringa con split in Python. Trovate la struttura di base in un [tutorial su Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/tutorial-python/).

### Dividere gli spazi

Nel primo codice, la stringa si divide regolarmente in corrispondenza degli spazi. Il codice appropriato è il seguente:

```none
text = "Questo è un testo di esempio"
print(text.split())
```

Il risultato ottenuto si presenta come segue:

```none
["Questo", "è", "un", "testo", "di", "esempio"]
```

### Dividere in corrispondenza delle virgole

Nel secondo esempio, dividete la stringa in corrispondenza delle virgole. Di seguito il comando appropriato:

```none
animali = "cane, gatto, topo, cavallo"
print(animali.split(", " ))
```

Ottenete il seguente risultato:

```none
["cane", "gatto", "topo", "cavallo"]
```

### Dividere con il cancelletto

Potete anche utilizzare un cancelletto per separare i termini l’uno dall’altro. Inoltre, assegnate il valore x a split in Python. Il codice corrispondente è il seguente:

```none
colorestring = "blu#rosso#giallo#arancione"
colori = colore_string.split("#")
print (colori)
```

Il risultato si presenta quindi così:

```none
["blu", "rosso", "giallo", "arancione"]
```

## Definire maxsplit per split in Python

Il secondo parametro maxsplit funziona in modo altrettanto semplice. Questi tre esempi spiegano come funziona:

### maxsplit impostato su 0

Nel primo esempio, abbiamo impostato maxsplit su 0:

```none
colori = "blu, rosso, giallo, arancione"
print(colori.split(", ", 0))
```

Il risultato si presenta come segue:

```none
["blu, rosso, giallo, arancione"]
```

### maxsplit impostato su 1

Se impostate maxsplit su 1, il risultato cambia. Questo è il codice:

```none
colori = "blu, rosso, giallo, arancione"
print(colori.split(", ", 1))
```

Il risultato ottenuto dopo split in Python:

```none
["blu", "rosso, giallo, arancione"]
```

### maxsplit impostato su 2

Per una doppia divisione, impostate maxsplit su 2 ed eseguite split in Python. Questo è il codice appropriato:

```none
colori = "blu, rosso, giallo, arancione"
print(colori.split(", ", 2))
```

Il risultato si presenta così:

```none
["blu", "rosso", "giallo, arancione"]
```

## Utilizzare split in Python all’interno di singole parole

Sebbene la variante predefinita sia una divisione con virgole o spazi, potete anche dividere le stringhe all’interno di parole specifiche. Nell’esempio seguente, prendiamo di nuovo i nomi degli animali e li dividiamo alla lettera *a*. Funziona così:

```none
animali = "cane, gatto, topo, cavallo"
print(animali.split("a"))
```

Il risultato ottenuto sembra insolito, ma funziona come previsto:

```none
["c", "ne, g", "tto, topo, c" "v" "llo"]
```

Se ora aggiungete il parametro maxsplit e limitate il numero delle suddivisioni a 1, otterrete il seguente risultato:

```none
animali = "cane, gatto, topo, cavallo"
print(animali.split("a", 1))
```

```none
["c", "ne, gatto, topo, cavallo"]
```

## Convertire una stringa in una lista con split in Python

Una funzione popolare e spesso molto utile di split è quella di convertire una stringa in una [lista in Python](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/split-in-python/ "split in Python"). Per questo vi servono entrambi i parametri separator e maxsplit. Nell’esempio seguente, la nostra lista di colori viene divisa dai cancelletti e ordinata tramite maxsplit in una lista con un massimo di due elementi. A tal fine, impostiamo maxsplit sul valore 1. Il codice corrispondente si presenta come segue:

```none
colore_string = "blu#rosso#giallo#arancione"
colori = colore_string.split("#", 1)
print(colori)
```

Si ottiene così il seguente risultato:

```none
["blu", "rosso#giallo#arancione"]
```

## La differenza tra split e rsplit in Python

Oltre a split, in Python esiste anche il metodo rsplit. È simile alla variante presentata qui e in molti casi produce esattamente lo stesso risultato. In particolare, se il parametro opzionale maxsplit non è specificato, il risultato è identico. Tuttavia, se impostate il parametro separator su None, lasciandolo quindi vuoto, e specificate il valore 2 per maxsplit, noterete una differenza:

```none
animali = "cane, gatto, topo, cavallo"
print(animali.split(None, 2))
```

Di seguito il risultato con split in Python:

```none
["cane", "gatto", "topo", "cavallo"]
```

Quindi split divide la stringa da sinistra.

Se ora utilizzate rsplit con il seguente codice:

```none
animali = "cane, gatto, topo, cavallo"
print(animali.rsplit(None, 2))
```

otterrete questo risultato:

```none
["cane, gatto", "topo", "cavallo"]
```

La suddivisione con rsplit avviene quindi da destra.


This is a markdown version of: [https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/split-in-python/](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/split-in-python/) for AI/LLM consumption.