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.