HOWTO · Python

Aggiungi una stringa all'altra in Python

Esistono 2 metodi principali che possono essere utilizzati per aggiungere una stringa a un'altra in Python, l'operatore + e la funzione str.join().

In questa pagina

Per aggiungere una stringa a un’altra in Python, usa l’operatore +. Usa str.join() per combinare un iterabile di stringhe con un separatore a scelta. Entrambi producono una nuova stringa; la scelta dipende dal fatto che tu debba combinare pochi valori o una raccolta.

Aggiungere stringhe con l’operatore +

L’operatore + concatena le stringhe da sinistra a destra e restituisce una nuova stringa. Se il testo combinato deve contenere uno spazio o un altro separatore, aggiungilo esplicitamente: la concatenazione non inserisce spazi automaticamente.

Esegui questo esempio:

Il codice e le etichette o gli output visibili in questa sezione restano in inglese.

first = "Hello"
second = "World"
combined = first + " " + second
print(combined)
Hello World

Lo spazio nell’espressione separa i due valori e print() scrive la stringa risultante. Quando aggiorni una variabile, puoi anche scrivere first += second. In questo modo first viene associata al risultato della concatenazione; la stringa originale non viene modificata sul posto, perché le stringhe di Python sono immutabili.

Per due o pochi valori, + mantiene l’espressione diretta e leggibile. Se costruisci una stringa lunga concatenando ripetutamente in un ciclo, ogni operazione crea un altro risultato stringa. Raccogli i frammenti e uniscili una sola volta quando il codice risulta più chiaro, soprattutto se provengono già da un iterabile.

Combinare stringhe con str.join()

str.join() si chiama sulla stringa separatrice e riceve un solo argomento: un iterabile contenente stringhe. Inserisce il separatore tra gli elementi adiacenti. Per esempio, " ".join(["Hello", "World", "from", "Python"]) combina quattro parole separandole con spazi. Cambiando il separatore cambia ciò che appare tra le parole: "-".join(["red", "green", "blue"]) usa i trattini, mentre "".join(["Py", "thon"]) non inserisce alcun separatore.

Ogni elemento passato a join() deve essere già una stringa. Se i valori includono numeri o altri tipi, converti prima ciascun valore, per esempio con str(value), oppure formattali mentre costruisci la raccolta. Anche una stringa è un iterabile: passandone una singola direttamente a join(), questa viene trattata come una sequenza di caratteri. Se vuoi combinare stringhe complete, passa una raccolta che le contenga.

Scegliere tra + e str.join()

Usa + per un numero ridotto e fisso di stringhe, per esempio per aggiungere un nome a un saluto. In questo modo i frammenti e il loro ordine sono facili da vedere. Usa str.join() quando i valori si trovano già in una lista o in un altro iterabile, oppure quando vuoi inserire un separatore tra molti frammenti. Un separatore vuoto è utile quando i frammenti devono unirsi direttamente.

Nessuno dei due metodi è sempre migliore in termini di prestazioni. Scegli la forma più adatta ai tuoi dati e che renda chiaro il separatore desiderato. Quando combini valori che non sono stringhe, convertili o formattali in modo esplicito prima di unirli. Queste regole coprono i casi comuni: + combina espressioni stringa, mentre str.join() combina un iterabile di stringhe inserendo un separatore.