Video Corso Base di Python 3

15: Similarità tra Liste e Stringhe

Menu della Serie






Ciao a tutti ragazzi e ragazze e benvenuti a questa quindicesima lezione della serie sulle basi di Python 3.6.

In questa lezione continueremo a parlare del nuovo tipo di dato introdotto nella lezione precedente, le Liste, facendo un confronto necessario con un altro tipo di dato studiato nelle puntate precedenti, le Stringhe.

Definiamo due variabili spam ed eggs, e assegnamo loro delle stringhe:

spam = "La pratica"
eggs = "rende perfetti!"

Come abbiamo già visto è possibile effettuare delle concatenazioni tra queste stringhe utilizzando un semplice +, e moltiplicarle utilizzando un *

spam + eggs
'La pratica rende perfetti!'

spam * 3
'La pratica La pratica La pratica '

Lo stesso discorso vale per le Liste: possiamo effettuare concatenazioni e moltiplicazioni nella stessa maniera:

definiamo due variabili A e B e assegnamole delle liste...

a = [1,2,'tre']
b = [4,5,'sei']

a + b
[1,2,'tre',4,5,'sei']

a * 3
[1,2,'tre',1,2,'tre',1,2,'tre']




Una funzione estremamente utile, comune sia a Liste che Stringhe è la funzione len(), che ci restituisce la lunghezza dell'elemento passato:

len(spam)
11

len(a)
3




Possiamo utilizzare gli operatori in e not in per controllare se un elemento o un carattere è presente all'interno di una Lista o Stringa;
Questi operatori restituiscono valori Booleani True o False:

Riassegnamo le variabili a e b:

a = [1,2,3,4]
b = "qwerty"

1 in a
True

6 in a
False

"q" in b
True

"z" in b
False




Potete utilizzare il sistema di accesso ad indice anche nelle stringhe, come visto nella puntata precedente con le Liste:

alfa = "abcdefghijklm..."

Facciamo un esempio, diciamo che vogliamo capovolgere questa stringa, scriviamo quindi una piccola funzione che lo faccia per noi...

def reverser(stringa):
indice = (len(stringa) -1)
nuova_stringa = ""
while indice >= 0:
nuova_stringa += stringa[indice]
indice -= 1
print(nuova_stringa)

reverser(alfa)

...mlkjihgfedcb




Possiamo inoltre ottenere una porzione di stringa utilizzando un indice doppio, proviamo ad esempio ad eliminare i 3 punti di sospensione:

 >>> alfa[:-3]
'abcdefghijklm'

Infine, possiamo convertire una Stringa in Lista utilizzando la funzione list(): questa dividerà una stringa in una lista formata da tutti i caratteri che formano la stringa...

 >>> list(alfa)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', '.', '.', '.']




Ricapitolando:
-Liste e Stringhe possono essere gestite in maniera identica sotto molti aspetti;
-La funzione len() ci restituisce la lunghezza di una Lista o Stringa passata come parametro;
-Per verificare se un elemento o un carattere è presente in una Lista o Stringa usiamo gli operatori IN e NOT IN;
-Possiamo utilizzare la funzione list() anche per dividere una stringa in una lista di caratteri;