4 Strutture di dati integrate in Python: dizionari, elenchi, insiemi, tuple
Pubblicato: 2020-03-24In questo articolo, ci concentreremo sulle strutture di dati in Python e ti aiuteremo a comprendere chiaramente l'argomento. Scoprirai cosa sono e come funzionano. Abbiamo anche condiviso numerosi esempi per assicurarti di non avere dubbi sugli argomenti che abbiamo condiviso qui.
Quindi, senza ulteriori indugi, iniziamo.
Sommario
Cosa sono le strutture dati?
Le strutture dati ti consentono di organizzare e gestire i tuoi dati in modo efficace ed efficiente. Migliorano l'accessibilità dei tuoi dati. Anche la modifica dei dati archiviati diventa molto più semplice se si dispone di strutture dati adeguate. Consentono di organizzare e archiviare i dati in modo da poter eseguire operazioni sugli stessi in un secondo momento senza incontrare alcun tipo di difficoltà.
Python ha due tipi di strutture dati. Le strutture dati supportate implicitamente da Python sono Set, Dictionary, List e Tuple. Queste sono le strutture dati integrate di Python.
Poi ci sono strutture di dati che puoi creare tu stesso per avere un migliore controllo sulla funzionalità. Si tratta di strutture di dati definite dall'utente e includono elenchi collegati, grafici, alberi, stack, code e mappe hash. Le strutture dati definite dall'utente sono disponibili anche in altri linguaggi di programmazione.
Per saperne di più: 6 strutture dati più comunemente utilizzate in R
Strutture di dati integrate in Python
Python ha più strutture di dati integrate. Queste strutture dati integrate ti aiutano a risolvere i problemi di programmazione in modo rapido e con molta facilità. Come accennato in precedenza, Python ha le seguenti strutture di dati integrate:
- Dizionari
- Elenchi
- Imposta
- Tuple
Discutiamo ciascuno di essi in dettaglio:
1. Dizionari
Usiamo dizionari per memorizzare coppie chiave-valore. Proprio come un dizionario fisico ha una parola memorizzata insieme al suo significato, un dizionario in Python memorizza le coppie chiave-valore. I termini sono le chiavi, mentre i vari significati associati a quelle parole sono i valori. Con il valore si accede alle chiavi.
Puoi creare un dizionario con parentesi floreali. Puoi anche usare la funzione dict() per questo scopo. Ecco un esempio:
my_dict = {} #dizionario vuoto
stampa(my_dict)
my_dict = {1: 'A', 2: 'B'} #dizionario con elementi
stampa(my_dict)
L'output del codice sopra:
{}
{1: 'A', 2: 'B'}
È possibile modificare i valori del dizionario tramite i tasti. Dovresti prima accedere alle chiavi per modificare i valori. Una volta individuate le chiavi, devi solo aggiungere la coppia chiave-valore richiesta per ottenere il risultato desiderato.
my_dict = {'Primo': 'A', 'Secondo': 'B'}
stampa(my_dict)
my_dict['Second'] = 'C++' #elemento che cambia
stampa(my_dict)
my_dict['Third'] = 'Ruby' #aggiunta coppia chiave-valore
stampa(my_dict)
L'output del codice sopra:
{'Primo': 'A', 'Secondo': 'B'}
{'Primo': 'A', 'Secondo': 'C'}
{'Primo': 'A', 'Secondo': 'C', 'Terzo': 'D'}
Puoi eliminare i valori nel tuo dizionario usando la funzione pop(). La funzione pop() restituisce il valore che avevi cancellato. Puoi recuperare una coppia chiave-valore tramite la funzione popitem(). Restituisce la tupla della coppia. Puoi anche cancellare l'intero dizionario usando la funzione clear(). Ecco l'esempio:
my_dict = {'Primo': 'A', 'Secondo': 'B'', 'Terzo': 'C'}
a = my_dict.pop('Terzo') elemento #pop
print('Valore:', a)
print('Dizionario:', my_dict)
b = my_dict.popitem() #pop la coppia chiave-valore
print('Chiave, coppia di valori:', b)
print('Dizionario', my_dict)
my_dict.clear() #dizionario vuoto
print('n', my_dict)
L'output del codice sopra:
Valore: C
Dizionario: {'Primo': 'A', 'Secondo': 'B'}
Chiave, coppia di valori: ('Secondo', 'B')
Dizionario {'First': 'A'}
{}
Leggi anche: Idee e argomenti del progetto Python
2. Elenchi
Usiamo gli elenchi per memorizzare i dati in sequenza. Ogni elemento dell'elenco ha un indirizzo, chiamato anche indice. Il valore di indice di una lista va da 0 all'ultimo elemento presente nella tua lista e il suo nome è indicizzazione positiva. Allo stesso modo, quando si torna dall'ultimo elemento al primo e si conta da -1, si parla di indicizzazione negativa.
È possibile creare un elenco utilizzando parentesi quadre e aggiungere elementi in base alle proprie esigenze. Se lasci vuote le parentesi, l'elenco non conterrebbe alcun elemento e sarebbe anche vuoto. Ecco un esempio di elenco:
mia_lista = [] #crea una lista vuota
stampa(la mia_lista)
mia_lista = [A, B, C, 'esempio', Z] #creazione lista con dati
stampa(la mia_lista)
L'output del codice sopra:
[]
[A, B, C, 'esempio', Z]
Puoi aggiungere elementi alla tua lista usando le funzioni insert(), extent() e append(). La funzione insert() aggiunge quegli elementi che sono stati passati al valore dell'indice. La funzione insert() aumenta anche la dimensione dell'elenco.
Con la funzione append(), puoi aggiungere tutti gli elementi passati ad essa come un singolo elemento. D'altra parte, la funzione extend() può aggiungere gli elementi uno per uno.
Ecco un esempio:
mia_lista = [A, B, C]
stampa(la mia_lista)
my_list.append([555, 12]) #aggiungi come singolo elemento
stampa(la mia_lista)
my_list.extend([234, 'more_example']) #aggiungi come elementi diversi
stampa(la mia_lista)
my_list.insert(1, 'insert_example') #aggiungi elemento i
stampa(la mia_lista)
Output del codice sopra:
[A, B, C]
[LA, B, C, [555, 12]]
[A, B, C, [555, 12], 234, 'altro_esempio']
[A, 'inserire_esempio', B, C, [555, 12], 234, 'altro_esempio']
Mentre si lavora con gli elenchi, è necessario rimuovere anche alcuni elementi. Puoi usare la parola chiave 'del'. È una parola chiave incorporata in Python e non restituisce nulla. Se vuoi indietro un elemento, dovresti usare la funzione pop() e per rimuovere un elemento attraverso il suo valore, dovrai usare la funzione remove(). Ecco l'esempio:

mia_lista = [A, B, C, 'esempio', Z, 10, 30]
del my_list[5] #cancella elemento all'indice 5
stampa(la mia_lista)
my_list.remove('example') #rimuovi elemento con valore
stampa(la mia_lista)
a = my_list.pop(1) #pop elemento dalla lista
print('Elemento saltato: ', a, ' Elenco rimanente: ', my_list)
mia_lista.clear() #svuota la lista
stampa(la mia_lista)
L'output del codice sopra:
[A, B, C, 'esempio', Z, 30]
[A, B, C, Z, 30]
Elemento spuntato: 2 Elenco rimanente: [A, C, Z, 30]
[]
Puoi passare i valori dell'indice in Python e ottenere i valori richiesti.
mia_lista = [A, B, C, 'esempio', Z, 10, 30]
for element in my_list: #accedi agli elementi uno per uno
stampa (elemento)
print(my_list) #accedi a tutti gli elementi
print(my_list[3]) #access index 3 elemento
print(my_list[0:2]) #accedi agli elementi da 0 a 1 ed escludi 2
print(my_list[::-1]) #accesso agli elementi al contrario
L'output del codice sopra:
UN
B
C
esempio
Z
10
30
[A, B, C, 'esempio', Z, 10, 30]
esempio
[A, B]
[30, 10, Z, 'esempio', 3, 2, 1]
3. Imposta
Una collezione di oggetti unici e non ordinati è chiamata set. Quindi, se ripeti i dati per qualche motivo, appariranno nel set solo una volta. Gli insiemi in Python sono simili agli insiemi di cui si legge in matematica. Dalle loro proprietà alle loro funzioni, troverai molte somiglianze tra loro.
Puoi creare un set usando le parentesi dei fiori e passando i suoi valori. Ecco un esempio:
mio_insieme = {A, B, C, D, E, E, E} #crea insieme
stampa(mio_set)
L'output del codice sopra:
{A, B, C, D, E}
Come accennato in precedenza, puoi eseguire tutte le funzioni degli insiemi che esegui in aritmetica negli insiemi di Python. Con la funzione union(), puoi combinare i dati presenti in due insiemi. La funzione intersezione() fornisce i dati presenti in entrambi gli insiemi menzionati.
Hai la funzione Difference() che ti consente di eliminare i dati disponibili in entrambi gli insiemi e ti fornisce i dati che non sono comuni tra loro. La funzione symmetric_difference() ti fornisce i dati rimanenti in quei set.
mio_set = {A, B, C, D}
mio_set_2 = {C, D, E, F}
print(my_set.union(my_set_2), '———-', mio_set | mio_set_2)
print(my_set.intersection(my_set_2), '———-', my_set & my_set_2)
print(mio_set.differenza(mio_set_2), '———-', mio_set – mio_set_2)
print(my_set.symmetric_difference(my_set_2), '———-', mio_set ^ mio_set_2)
mio_set.clear()
stampa(mio_set)
L'output del codice sopra:
{A, B, C, D, E, F} ———- {A, B, C, D, E, F}
{C, D} ———- {C, D}
{A, B} ———- {A, B}
{A, B, E, F} ———- {A, B, E, F}
impostare()
Leggi anche: Stipendio per sviluppatori Python in India
4. Tuple
Le tuple sono simili alle liste, ma una volta inseriti i dati in una tupla, non è possibile modificarla a meno che non sia mutabile. Comprenderli può essere un po' complicato, ma non preoccuparti, il nostro codice di esempio potrebbe aiutarti in tal senso. Puoi creare una tupla con l'aiuto della funzione tuple().
mia_tupla = (A, B, C) #crea tupla
stampa(la mia_tupla)
L'output del codice sopra:
(A, B, C)
Il metodo per accedere ai valori nelle tuple è lo stesso delle liste.
my_tuple2 = (A, B, C, 'Aggiorna') #accesso agli elementi
per x in my_tuple2:
stampa(x)
print(my_tuple2)
print(my_tuple2[0])
print(my_tuple2[:])
L'output del codice sopra:
UN
B
C
Aggiornamento
(A, B, C, 'Aggiorna')
UN
(A, B, C, 'Aggiorna')
Conclusione
Ora devi aver acquisito familiarità con le varie strutture di dati in Python . Ci auguriamo che tu abbia trovato utile questo articolo. Le strutture dati svolgono un ruolo significativo nell'aiutarti a organizzare, gestire e accedere ai tuoi dati. Ci sono molte opzioni tra cui scegliere e ognuna di esse ha i suoi usi particolari.
Se vuoi saperne di più su Python e sulle strutture dati, dai un'occhiata ai nostri corsi.
Se sei curioso di conoscere Python, tutto ciò che riguarda la scienza dei dati, dai un'occhiata al Diploma PG in Data Science di IIIT-B e upGrad, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, workshop pratici pratici, tutoraggio con l'industria esperti, 1 contro 1 con mentori del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.
Quando viene utilizzato il tipo di dati del dizionario?
Il dizionario può essere definito come un tipo di dati prezioso utilizzato in Python come raccolta di dati archiviati nelle coppie di chiavi e valori. Ora, i valori del dizionario possono essere di qualsiasi tipo di dati, ma le chiavi devono essere di un tipo di dati immutabile come tupla, intero o stringa.
I dizionari sono molto utili quando si desidera trovare un valore all'istante senza passare attraverso l'intera raccolta di dati. Oltre a questo, un dizionario è anche molto utile quando l'ordine dei dati non è importante. Il tipo di dati del dizionario è preferito quando la considerazione della memoria non è un fattore importante perché tendono a occupare più spazio rispetto a elenchi e tuple.
Qual è la differenza tra liste e tuple?
List e tuple sono entrambi tipi di dati di sequenza utili per archiviare la raccolta di dati in Python. La differenza più significativa tra entrambi è che le liste sono mutabili, mentre le tuple sono immutabili. Inoltre, l'implicazione delle iterazioni è molto più veloce nelle tuple rispetto a quella nelle liste.
Se desideri eseguire operazioni di inserimento e di eliminazione, gli elenchi ti semplificano il compito. Allo stesso tempo, è possibile accedere meglio agli elementi nelle tuple. Un altro fattore importante che determina l'uso di qualsiasi struttura dati è la memoria. Qui, gli elenchi tendono a consumare più memoria rispetto alle tuple.
In che modo gli insiemi sono diversi dagli elenchi?
Gli elenchi sono considerati lo strumento più potente in Python poiché non devono essere sempre omogenei. Sia gli elenchi che gli insiemi possono contenere tutti i tipi di dati. Ora, gli elenchi possono contenere elementi duplicati, ma gli insiemi non possono mai contenere duplicati e semplicemente scompariranno dall'insieme.
L'ordine degli elementi viene mantenuto negli elenchi, ma gli insiemi non possono mai mantenere l'ordine degli elementi. Poiché gli elenchi occupano molto spazio di calcolo, finiscono per richiedere un'enorme quantità di tempo. D'altra parte, i set utilizzano l'hashing per eseguire ricerche e finiscono per essere molto più veloci delle liste.