3 Concetti Fondamentali sulle Strutture Dati in Python

3 Concetti Fondamentali Strutture Dati Python

Imparare a scrivere programmi efficienti e robusti

Foto di Ricardo Gomez Angel su Unsplash
  • Le liste possono avere elementi duplicati ma gli insiemi no.
  • Puoi aggiornare un elemento in una lista ma non in una tupla.
  • Puoi ottenere il terzo elemento da una tupla ma non da un insieme.

Queste sono solo alcune cose da sapere sulle strutture dati di Python. Sicuramente ci sono delle ragioni dietro a queste differenze, che rendono ognuna adatta a un compito particolare.

Per scrivere script Python efficienti, è necessario conoscere le caratteristiche chiave di queste strutture dati e come utilizzarle.

Ad esempio, possiamo utilizzare gli insiemi per trovare gli elementi diversi tra due liste:

lst_1 = ["Jane", "Emily", "John", "Max", "Emily", "Jane", "Matt"]lst_2 = ["Jane", "Matt", "John", "Jane", "Emily"]# converti ogni lista in un insieme, trova la differenza utilizzando la sottrazionedifference = list(set(lst_1) - set(lst_2))print(difference)# output['Max']

Impareremo tre concetti fondamentali sulle quattro strutture dati integrate di Python: dizionario, insieme, lista, tupla.

1. Mutabile

Se una struttura dati è mutabile, possiamo aggiornare i suoi elementi o aggiungere nuovi elementi ad essa.

  • Lista: mutabile (possiamo aggiungere nuovi elementi e aggiornare quelli esistenti)
  • Insieme: mutabile (possiamo aggiungere nuovi elementi)
  • Dizionario: mutabile (possiamo aggiungere nuovi elementi e aggiornare quelli esistenti)
  • Tupla: non mutabile

Facciamo alcuni esempi per mostrare come aggiungere nuovi elementi a una lista, a un insieme e a un dizionario.

# insieme myset = set([1, 2, 3])myset.add(4)print(myset)# output{1, 2, 3, 4}# lista mylist = [1, 2, 3]mylist.append(4)print(mylist)# output[1, 2, 3, 4]# dizionario mydict = {"John": 24, "Jane": 26}mydict["Emily"] = 30print(mydict)# output{'John': 24, 'Jane': 26, 'Emily': 30}

Possiamo aggiungere elementi a una tupla, ma ciò non modifica la tupla stessa. Invece, otteniamo una nuova tupla con i nuovi elementi aggiunti.

# tupla mytuple = (1, 2, 3)newtuple = mytuple + (4,)print(newtuple)# output(1, 2, 3, 4)