Python 3 - Elenchi
La struttura dati più basilare in Python è la 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 Python
L'elenco è il 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/python3
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 aggiungendo elementi a un elenco con il metodo append (). Ad esempio:
#!/usr/bin/python3
list = ['physics', 'chemistry', 1997, 2000]
print ("Value available at index 2 : ", list[2])
list[2] = 2001
print ("New value available at index 2 : ", 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 dell'elenco, puoi utilizzare il delse sai esattamente quali elementi stai eliminando. Puoi usare il metodo remove () se non sai esattamente quali elementi eliminare. Ad esempio:
#!/usr/bin/python3
list = ['physics', 'chemistry', 1997, 2000]
print (list)
del list[2]
print ("After deleting value at index 2 : ", list)
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, end = '') | 1 2 3 | Iterazione |
Indicizzazione, suddivisione in sezioni e matrici
Poiché le liste sono sequenze, l'indicizzazione e la suddivisione in sezioni funzionano allo stesso modo per le liste come per le stringhe.
Supponendo il seguente input:
L = ['C++'', 'Java', 'Python']
Espressione di Python | Risultati | Descrizione |
---|---|---|
L [2] | 'Pitone' | Gli offset iniziano da zero |
L [-2] | 'Giava' | Negativo: conta da destra |
L [1:] | ["Java", "Python"] | Il sezionamento recupera le sezioni |
Funzioni e metodi di elenco incorporati
Python include le seguenti funzioni di elenco:
Sr.No. | Descrizione della funzione |
---|---|
1 | len (elenco) Fornisce la lunghezza totale dell'elenco. |
2 | max (elenco) Restituisce l'elemento dalla lista con il valore massimo. |
3 | min (elenco) Restituisce l'elemento dall'elenco con il valore minimo. |
4 | elenco (seq) Converte una tupla in una lista. |
Python include i seguenti metodi di elenco:
Sr.No. | Metodi e 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 |