Lo slicing permette di estrarre una porzione di stringa. La sintassi stringa[inizio:fine] seleziona i caratteri dall'indice inizio fino a fine - 1.
word = "Strawberry"
print(word[0:5]) # 'Straw'
Se si omette l'indice iniziale, Python parte automaticamente da 0.
fruit = "Banana"
print(fruit[:3]) # 'Ban'
Se si omette l'indice finale, Python continua fino alla fine della stringa.
name = "Carrot"
print(name[2:]) # 'rrot'
Lo slicing completo restituisce una copia della stringa.
text = "Python"
print(text[:]) # 'Python'
stepSintassi: stringa[inizio:fine:step]. step controlla di quanto avanza l'indice ogni volta.
code = "ABCDEFG"
print(code[0:7:2]) # 'ACEG'
Usando step = -1 è possibile invertire rapidamente una stringa.
word = "Pizza"
print(word[::-1]) # 'azziP'
Gli indici negativi permettono di contare le posizioni a partire dalla fine.
item = "Tomato"
print(item[-4:-1]) # 'mat'
len() insieme allo slicingÈ possibile estrarre le ultime N lettere usando len().
product = "Watermelon"
last3 = product[len(product)-3:]
print(last3) # 'lon'
Uno slicing fuori dai limiti restituisce una stringa vuota se non ci sono caratteri nell'intervallo; non genera un errore in questo esempio.
s = "Hi"
print(s[5:10]) # '' (stringa vuota)
+L'operatore + permette di unire due o più stringhe.
first = "Hello"
second = "World"
print(first + " " + second) # 'Hello World'
name = "Anna"
greeting = "Hi, " + name
print(greeting)
user = "Sam"
print(f"Welcome, {user}!")
item = "Chocolate"
short = item[:5] + "..."
print(short) # 'Choco...'
*Non è concatenazione, ma è un'operazione utile da conoscere.
print("na" * 3) # 'nanana'
Esempio:
a = "spaghetti"
b = "gelato"
new_word = a[:4] + b[-3:]
print(new_word) # 'spato'