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.