Python - Elenchi
La struttura dati più basilare in Python è sequence. A ogni elemento di una sequenza viene assegnato un numero: la sua posizione o indice. Il primo indice è zero, il secondo indice è uno e così via.
Python ha sei tipi di sequenze incorporate, ma i più comuni sono elenchi e tuple, che vedremmo in questo tutorial.
Ci sono alcune cose che puoi fare con tutti i tipi di sequenza. Queste operazioni includono l'indicizzazione, la suddivisione in sezioni, l'aggiunta, la moltiplicazione e il controllo dell'appartenenza. Inoltre, Python ha funzioni incorporate per trovare la lunghezza di una sequenza e per trovare i suoi elementi più grandi e più piccoli.
Elenchi di Python
L'elenco è un tipo di dati più versatile disponibile in Python che può essere scritto come un elenco di valori (elementi) separati da virgole tra parentesi quadre. La cosa importante di un elenco è che gli elementi in un elenco non devono essere dello stesso tipo.
Creare un elenco è semplice come inserire diversi valori separati da virgole tra parentesi quadre. Ad esempio:
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]
Simile agli indici di stringa, gli indici di elenco iniziano da 0 e gli elenchi possono essere suddivisi, concatenati e così via.
Accesso ai valori negli elenchi
Per accedere ai valori negli elenchi, utilizzare le parentesi quadre per affettare insieme all'indice o agli indici per ottenere il valore disponibile in quell'indice. Ad esempio:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
Quando il codice sopra viene eseguito, produce il seguente risultato:
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
Aggiornamento degli elenchi
È possibile aggiornare uno o più elementi di elenchi assegnando la sezione sul lato sinistro dell'operatore di assegnazione e aggiungere elementi a un elenco con il metodo append (). Ad esempio:
#!/usr/bin/python
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
list[2] = 2001;
print "New value available at index 2 : "
print list[2]
Note - Il metodo append () è discusso nella sezione successiva.
Quando il codice sopra viene eseguito, produce il seguente risultato:
Value available at index 2 :
1997
New value available at index 2 :
2001
Elimina elementi dell'elenco
Per rimuovere un elemento della lista, puoi usare l'istruzione del se sai esattamente quali elementi stai cancellando o il metodo remove () se non lo sai. Ad esempio:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
print list1
del list1[2];
print "After deleting value at index 2 : "
print list1
Quando il codice sopra viene eseguito, produce il seguente risultato:
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]
Note - Il metodo remove () è discusso nella sezione successiva.
Operazioni di base sugli elenchi
Le liste rispondono agli operatori + e * in modo molto simile alle stringhe; significano anche qui concatenazione e ripetizione, tranne per il fatto che il risultato è un nuovo elenco, non una stringa.
In effetti, le liste rispondono a tutte le operazioni di sequenza generali che abbiamo usato sulle stringhe nel capitolo precedente.
Espressione di Python | Risultati | Descrizione |
---|---|---|
len ([1, 2, 3]) | 3 | Lunghezza |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | Concatenazione |
["Ciao!"] * 4 | ["Ciao!", "Ciao!", "Ciao!", "Ciao!"] | Ripetizione |
3 in [1, 2, 3] | Vero | Appartenenza |
for x in [1, 2, 3]: print x, | 1 2 3 | Iterazione |
Indicizzazione, suddivisione in sezioni e matrici
Poiché gli elenchi sono sequenze, l'indicizzazione e la suddivisione in sezioni funzionano allo stesso modo per gli elenchi come per le stringhe.
Supponendo il seguente input:
L = ['spam', 'Spam', 'SPAM!']
Espressione di Python | Risultati | Descrizione |
---|---|---|
L [2] | SPAM! | Gli offset iniziano da zero |
L [-2] | Spam | Negativo: conta da destra |
L [1:] | ["Spam", "SPAM!"] | Il sezionamento recupera le sezioni |
Funzioni e metodi di elenco incorporati
Python include le seguenti funzioni di elenco:
Sr.No. | Funzione con descrizione |
---|---|
1 | cmp (list1, list2) Confronta gli elementi di entrambi gli elenchi. |
2 | len (elenco) Fornisce la lunghezza totale dell'elenco. |
3 | max (elenco) Restituisce l'elemento dalla lista con il valore massimo. |
4 | min (elenco) Restituisce l'elemento dall'elenco con il valore minimo. |
5 | elenco (seq) Converte una tupla in una lista. |
Python include i seguenti metodi di elenco
Sr.No. | Metodi con descrizione |
---|---|
1 | list.append (obj) Aggiunge object obj alla lista |
2 | list.count (obj) Restituisce il conteggio di quante volte obj compare nell'elenco |
3 | list.extend (seq) Aggiunge il contenuto di seq all'elenco |
4 | list.index (obj) Restituisce l'indice più basso nell'elenco visualizzato da obj |
5 | list.insert (index, obj) Inserisce l'oggetto obj nell'elenco all'indice di offset |
6 | list.pop (obj = list [-1]) Rimuove e restituisce l'ultimo oggetto o oggetto dalla lista |
7 | list.remove (obj) Rimuove l'oggetto obj dall'elenco |
8 | list.reverse () Inverte gli oggetti dell'elenco in posizione |
9 | list.sort ([func]) Ordina gli oggetti della lista, usa la funzione di confronto se fornita |