Vai al contenuto principale

Tutorial sulla concatenazione di stringhe in Python

Scopri vari metodi per concatenare stringhe in Python, con esempi che illustrano ogni tecnica.
· 5 min leggi

Scopri con l'IA

Concatenare significa ottenere una nuova stringa che contiene entrambe le stringhe originali. In Python, ci sono diversi modi per concatenare o combinare stringhe. La nuova stringa creata viene chiamata oggetto stringa.

Esempi di concatenazione di stringhe in Python

Vediamo esempi di 5 metodi diversi per concatenare stringhe in Python.

1. Usare l'operatore +

Per unire due stringhe in un unico oggetto, puoi usare l'operatore +. Questo metodo è semplice e comunemente usato.

Nell'esempio qui sotto, le due stringhe originali my_string1 e my_string2 vengono concatenate. Per concatenarle, usi l'operando più per "sommarle", specificando lo spazio e generando l'output, come mostrato di seguito.

my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = my_string1 + " " + my_string2
print(combined_string)

# Expected output: Awesome day for bikini

2. Usare il metodo join()

Il metodo join() è un altro modo per concatenare stringhe, particolarmente utile quando hai un elenco di stringhe da concatenare.

my_strings = ["Awesome day", "for bikini"]
combined_string = " ".join(my_strings)
print(combined_string)

# Expected output: Awesome day for bikini

3. Usare le f-string (letterali di stringa formattati)

Python 3.6 ha introdotto le f-string, un modo più leggibile ed efficiente per concatenare stringhe e includere variabili all'interno delle stringhe.

my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = f"{my_string1} {my_string2}"
print(combined_string)

# Expected output: Awesome day for bikini

4. Usare l'operatore %

L'operatore % permette di formattare le stringhe ed è un altro metodo per la concatenazione, anche se è meno usato dopo l'introduzione delle f-string.

my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = "%s %s" % (my_string1, my_string2)
print(combined_string)

# Expected output: Awesome day for bikini

5. Usare il metodo format()

Il metodo format() è versatile e può essere usato sia per concatenare stringhe sia per formattazioni più complesse.

my_string1 = "Awesome day"
my_string2 = "for bikini"
combined_string = "{} {}".format(my_string1, my_string2)
print(combined_string)

# Expected output: Awesome day for bikini

Conclusione

In Python esistono diversi modi per concatenare stringhe, ciascuno con i propri vantaggi. L'operatore + è semplice e diretto, join() è efficiente per le liste, le f-string offrono leggibilità e prestazioni, % è un approccio classico e format() è versatile. Scegli il metodo che meglio si adatta alle tue esigenze e alla compatibilità con la versione di Python.

Per saperne di più sulla manipolazione di stringhe in Python, guarda questo video del nostro corso, Regular Expressions in Python.

Oppure dai un'occhiata a questi tutorial:

FAQ

Come concateno un elenco di stringhe usando un separatore personalizzato?

Puoi usare il metodo join() con il separatore che preferisci.

my_strings = ["Awesome day", "for bikini"]
separator = " - "
combined_string = separator.join(my_strings)
print(combined_string)  # Output: Awesome day - for bikini
È possibile concatenare direttamente stringhe con altri tipi di dato come interi o float?

No, devi prima convertire gli altri tipi di dato in stringhe usando la funzione str().

my_string = "The price is"
price = 50
combined_string = my_string + " " + str(price) + "$"
print(combined_string)  # Output: The price is 50$
Come concateno più stringhe memorizzate in una lista o in una tupla?

Usa il metodo join() per una concatenazione efficiente.

my_list = ["Awesome day", "for bikini", "at the beach"]
combined_string = " ".join(my_list)
print(combined_string)  # Output: Awesome day for bikini at the beach
Come posso concatenare stringhe in base a determinate condizioni?

Usa un'istruzione if per verificare le condizioni prima di concatenare.

condition = True
my_string1 = "Awesome day"
my_string2 = "for bikini"
if condition:
    combined_string = my_string1 + " " + my_string2
else:
    combined_string = my_string1
print(combined_string)  # Output: Awesome day for bikini
Ci sono differenze di prestazioni tra l'operatore +, join(), le f-string, l'operatore % e format() per la concatenazione di stringhe?

Sì, ci sono differenze di prestazioni. In generale, join() è il metodo più veloce per concatenare una lista di stringhe, soprattutto in un ciclo, perché riduce al minimo la creazione di stringhe intermedie. Le f-string e format() sono anch'esse efficienti e offrono leggibilità, mentre l'operatore + e l'operatore % sono meno efficienti per concatenazioni multiple nei loop.

# Esempio di concatenazione efficiente in un ciclo usando join()
strings = ["Awesome", "day", "for", "bikini"]
combined_string = " ".join(strings)
print(combined_string)  # Output: Awesome day for bikini

Argomenti

Correlato