logo

Tuple in Python

Python Tuple è una raccolta di oggetti separati da virgole. In un certo senso, una tupla è simile a una lista Python in termini di indicizzazione, oggetti annidati e ripetizione, ma la differenza principale tra le due è che la tupla Python è immutabile, a differenza della lista Python che è mutabile.

Creazione di tuple Python

Esistono vari modi con cui è possibile creare una tupla in Pitone . Sono i seguenti:



  • Utilizzando parentesi tonde
  • Con un oggetto
  • Costruttore di tuple

Crea tuple utilizzando parentesi tonde ()

Per creare una tupla utilizzeremo gli operatori ().

Python3








var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(var)>

>

>

Produzione:

('Geeks', 'for', 'Geeks')>

Crea una tupla con un elemento

Python 3.11 ci fornisce un altro modo per creare una tupla.

Python3




values :>tuple>[>int> |>str>, ...]>=> (>1>,>2>,>4>,>'Geek'>)> print>(values)>

>

>

Produzione:

Qui, nel frammento sopra stiamo considerando una variabile chiamata valori che contiene una tupla composta da int o str, '...' significa che la tupla conterrà più di un int o str.

(1, 2, 4, 'Geek')>

Nota: Nel caso in cui stai generando una tupla con un singolo elemento, assicurati di aggiungere una virgola dopo l'elemento. Vediamo un esempio dello stesso.

Python3




mytuple>=> (>'Geeks'>,)> print>(>type>(mytuple))> #NOT a tuple> mytuple>=> (>'Geeks'>)> print>(>type>(mytuple))>

>

>

Produzione:

>

Costruttore di tuple in Python

Per creare una tupla con un costruttore Tuple, passeremo gli elementi come parametri.

Python3




tuple_constructor>=> tuple>((>'dsa'>,>'developement'>,>'deep learning'>))> print>(tuple_constructor)>

>

>

Produzione :

('dsa', 'developement', 'deep learning')>

Cosa è immutabile nelle tuple?

Le tuple in Python sono simili a Elenchi Python ma non del tutto. Le tuple sono immutabili e ordinate e consentono valori duplicati. Alcune caratteristiche delle tuple in Python.

  • Possiamo trovare elementi in una tupla poiché la ricerca di qualsiasi elemento non apporta modifiche alla tupla.
  • Non è possibile aggiungere elementi a una tupla una volta creata.
  • Le tuple non possono essere aggiunte o estese.
  • Non possiamo rimuovere elementi da una tupla una volta creata.

Vediamolo con un esempio.

Python3




mytuple>=> (>1>,>2>,>3>,>4>,>5>)> # tuples are indexed> print>(mytuple[>1>])> print>(mytuple[>4>])> # tuples contain duplicate elements> mytuple>=> (>1>,>2>,>3>,>4>,>2>,>3>)> print>(mytuple)> # adding an element> mytuple[>1>]>=> 100> print>(mytuple)>

>

>

Produzione:

Le tuple Python sono ordinate e possiamo accedere ai loro elementi utilizzando i loro valori di indice. Sono anche immutabili, ovvero non possiamo aggiungere, rimuovere e modificare gli elementi una volta dichiarati nella tupla, quindi quando abbiamo provato ad aggiungere un elemento all'indice 1, ha generato l'errore.

2 5 (1, 2, 3, 4, 2, 3) Traceback (most recent call last): File 'e0eaddff843a8695575daec34506f126.py', line 11, in tuple1[1] = 100 TypeError: 'tuple' object does not support item assignment>

Accesso ai valori nelle tuple Python

Le tuple in Python forniscono due modi attraverso i quali possiamo accedere agli elementi di una tupla.

  • Utilizzando un indice positivo
  • Utilizzando un indice negativo

Tupla di accesso Python utilizzando un indice positivo

Usando le parentesi quadre possiamo ottenere i valori dalle tuple in Python.

Python3




var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(>'Value in Var[0] = '>, var[>0>])> print>(>'Value in Var[1] = '>, var[>1>])> print>(>'Value in Var[2] = '>, var[>2>])>

>

>

Produzione:

Value in Var[0] = Geeks Value in Var[1] = for Value in Var[2] = Geeks>

Accedi alla tupla utilizzando l'indice negativo

Nei metodi precedenti, utilizziamo l'indice positivo per accedere al valore in Python, mentre qui utilizzeremo l'indice negativo all'interno di [].

Python3




var>=> (>1>,>2>,>3>)> print>(>'Value in Var[-1] = '>, var[>->1>])> print>(>'Value in Var[-2] = '>, var[>->2>])> print>(>'Value in Var[-3] = '>, var[>->3>])>

>

>

Produzione:

Value in Var[-1] = 3 Value in Var[-2] = 2 Value in Var[-3] = 1>

Diverse operazioni relative alle tuple

Di seguito sono riportate le diverse operazioni relative alle tuple in Python:

  • Concatenazione
  • Nidificazione
  • Ripetizione
  • Affettare
  • Eliminazione
  • Trovare la lunghezza
  • Tipi di dati multipli con tuple
  • Conversione di liste in tuple
  • Tuple in un ciclo

Concatenazione di tuple Python

A Concatenazione di tuple Python, utilizzeremo gli operatori più (+).

Python3




# Code for concatenating 2 tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> # Concatenating above two> print>(tuple1>+> tuple2)>

mappa in Java
>

>

Produzione:

(0, 1, 2, 3, 'python', 'geek')>

Annidamento di tuple Python

Una tupla annidata in Python significa una tupla all'interno di un'altra tupla.

Python3




# Code for creating nested tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> tuple3>=> (tuple1, tuple2)> print>(tuple3)>

>

>

Produzione :

((0, 1, 2, 3), ('python', 'geek'))>

Tuple Python di ripetizione

Possiamo creare una tupla di più elementi uguali da un singolo elemento in quella tupla.

Python3




# Code to create a tuple with repetition> tuple3>=> (>'python'>,)>*>3> print>(tuple3)>

>

>

Produzione:

('python', 'python', 'python')>

Prova quanto sopra senza virgola e controlla. Otterrai tuple3 come stringa 'pythonpythonpython'.

Affettare le tuple in Python

Affettare una tupla Python significa dividere una tupla in piccole tuple utilizzando il metodo di indicizzazione.

Python3




# code to test slicing> tuple1>=> (>0> ,>1>,>2>,>3>)> print>(tuple1[>1>:])> print>(tuple1[::>->1>])> print>(tuple1[>2>:>4>])>

>

>

Produzione:

In questo esempio, abbiamo suddiviso la tupla dall'indice 1 all'ultimo elemento. Nella seconda istruzione print, abbiamo stampato la tupla utilizzando l'indicizzazione inversa. E nella terza istruzione print abbiamo stampato gli elementi dall'indice 2 al 4.

(1, 2, 3) (3, 2, 1, 0) (2, 3)>

Nota: Nell'affettamento Python, l'indice finale fornito non è incluso.

Eliminazione di una tupla in Python

In questo esempio, stiamo cancellando una tupla usando ' del' parola chiave . L'output sarà sotto forma di errore perché dopo aver eliminato la tupla, restituirà un NameError.

Nota: Non è possibile rimuovere singoli elementi della tupla, ma possiamo eliminare l'intera tupla utilizzando la parola chiave Del.

Python3




# Code for deleting a tuple> tuple3>=> (>0>,>1>)> del> tuple3> print>(tuple3)>

>

>

Produzione:

Traceback (most recent call last): File 'd92694727db1dc9118a5250bf04dafbd.py', line 6, in print(tuple3) NameError: name 'tuple3' is not defined>

Trovare la lunghezza di una tupla Python

Per trovare la lunghezza di una tupla, possiamo usare la funzione len() di Python e passare la tupla come parametro.

Python3




# Code for printing the length of a tuple> tuple2>=> (>'python'>,>'geek'>)> print>(>len>(tuple2))>

>

>

Produzione:

 2>

Tipi di dati multipli con tupla

Le tuple in Python sono di natura eterogenea. Ciò significa che le tuple supportano elementi con più tipi di dati.

Python3




# tuple with different datatypes> tuple_obj>=> (>'immutable'>,>True>,>23>)> print>(tuple_obj)>

>

>

Produzione :

('immutable', True, 23)>

Conversione di una lista in una tupla

Possiamo convertire a elenco in Python in una tupla utilizzando il costruttore tuple() e passando la lista come parametri.

Python3


css per il grassetto



# Code for converting a list and a string into a tuple> list1>=> [>0>,>1>,>2>]> print>(>tuple>(list1))> # string 'python'> print>(>tuple>(>'python'>))>

>

>

Produzione:

Le tuple accettano un singolo parametro che può essere una lista, una stringa, un set o anche un dizionario (solo le chiavi vengono prese come elementi) e lo convertono in una tupla.

(0, 1, 2) ('p', 'y', 't', 'h', 'o', 'n')>

Tuple in un ciclo

Possiamo anche creare una tupla con un singolo elemento utilizzando loop .

Python3




# python code for creating tuples in a loop> tup>=> (>'geek'>,)> # Number of time loop runs> n>=> 5> for> i>in> range>(>int>(n)):> >tup>=> (tup,)> >print>(tup)>

>

>

Produzione:

(('geek',),) ((('geek',),),) (((('geek',),),),) ((((('geek',),),),),) (((((('geek',),),),),),)>