Python - Tuple
Una tupla è una raccolta di oggetti ordinati e immutabili. Le tuple sono sequenze, proprio come le liste. Le differenze tra le tuple e le liste sono che le tuple non possono essere modificate a differenza delle liste e le tuple usano le parentesi, mentre le liste usano le parentesi quadre.
Creare una tupla è semplice come inserire diversi valori separati da virgole. Facoltativamente, puoi anche inserire questi valori separati da virgole tra parentesi. Ad esempio:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
La tupla vuota è scritta come due parentesi che non contengono nulla -
tup1 = ();
Per scrivere una tupla contenente un singolo valore devi includere una virgola, anche se c'è un solo valore -
tup1 = (50,);
Come gli indici di stringa, gli indici di tupla iniziano da 0 e possono essere suddivisi, concatenati e così via.
Accesso ai valori nelle tuple
Per accedere ai valori nella tupla, 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
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];
Quando il codice sopra viene eseguito, produce il seguente risultato:
tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]
Aggiornamento delle tuple
Le tuple sono immutabili, il che significa che non è possibile aggiornare o modificare i valori degli elementi della tupla. Puoi prendere porzioni di tuple esistenti per creare nuove tuple come dimostra il seguente esempio:
#!/usr/bin/python
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# Following action is not valid for tuples
# tup1[0] = 100;
# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;
Quando il codice sopra viene eseguito, produce il seguente risultato:
(12, 34.56, 'abc', 'xyz')
Elimina elementi tupla
Non è possibile rimuovere singoli elementi della tupla. Non c'è, ovviamente, niente di sbagliato nel mettere insieme un'altra tupla con gli elementi indesiderati scartati.
Per rimuovere in modo esplicito un'intera tupla, basta usare il deldichiarazione. Ad esempio:
#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : ";
print tup;
Questo produce il seguente risultato. Notare un'eccezione sollevata, questo perché afterdel tup la tupla non esiste più -
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
Operazioni di base sulle tuple
Le tuple rispondono agli operatori + e * in modo molto simile alle stringhe; significano anche qui concatenazione e ripetizione, tranne per il fatto che il risultato è una nuova tupla, non una stringa.
In effetti, le tuple 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 pollici (1, 2, 3) | Vero | Appartenenza |
for x in (1, 2, 3): print x, | 1 2 3 | Iterazione |
Indicizzazione, suddivisione in sezioni e matrici
Poiché le tuple sono sequenze, l'indicizzazione e l'affettatura funzionano allo stesso modo per le tuple 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 |
Nessun delimitatore di inclusione
Qualsiasi insieme di più oggetti, separati da virgole, scritti senza simboli identificativi, ad esempio parentesi per elenchi, parentesi per tuple, ecc., Di default sono tuple, come indicato in questi brevi esempi -
#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;
Quando il codice sopra viene eseguito, produce il seguente risultato:
abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2
Funzioni di tupla incorporate
Python include le seguenti funzioni di tupla:
Sr.No. | Funzione con descrizione |
---|---|
1 | cmp (tuple1, tuple2)
Confronta gli elementi di entrambe le tuple. |
2 | len (tupla)
Fornisce la lunghezza totale della tupla. |
3 | max (tupla)
Restituisce l'elemento dalla tupla con il valore massimo. |
4 | min (tupla)
Restituisce l'elemento dalla tupla con valore minimo. |
5 | tupla (seq)
Converte un elenco in tupla. |