logo

Tuples en Python

Python Tuple és una col·lecció d'objectes separats per comes. D'alguna manera, una tupla és similar a una llista de Python pel que fa a la indexació, els objectes imbricats i la repetició, però la diferència principal entre ambdues és que la tupla de Python és immutable, a diferència de la llista de Python que és mutable.

Creació de tuples Python

Hi ha diverses maneres de crear una tupla Python . Són els següents:



  • Utilitzant claudàtors rodons
  • Amb un element
  • Constructor de tuples

Creeu tuples amb claudàtors rodons ()

Per crear una tupla utilitzarem els operadors ().

Python 3








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

>

>

Sortida:

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

Creeu una tupla amb un element

Python 3.11 ens proporciona una altra manera de crear una tupla.

Python 3




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

>

>

Sortida:

Aquí, al fragment anterior estem considerant una variable anomenada valors que conté una tupla que consta de int o str, el '...' significa que la tupla conté més d'un int o str.

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

Nota: En cas que estigueu generant una tupla amb un sol element, assegureu-vos d'afegir una coma després de l'element. Vegem un exemple del mateix.

Python 3




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

>

>

Sortida:

>

Constructor de tuples en Python

Per crear una tupla amb un constructor de tupla, passarem els elements com a paràmetres.

Python 3




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

>

>

Sortida:

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

Què és immutable en tuples?

Les tuples en Python són semblants a Llistes de Python però no del tot. Les tuples són immutables i ordenades i permeten valors duplicats. Algunes característiques de les tuples a Python.

  • Podem trobar elements en una tupla, ja que trobar qualsevol element no fa canvis a la tupla.
  • No es poden afegir elements a una tupla un cop creada.
  • Les tuples no es poden afegir ni ampliar.
  • No podem eliminar elements d'una tupla un cop creada.

Vegem-ho amb un exemple.

Python 3




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)>

>

>

Sortida:

Les tuples de Python estan ordenades i podem accedir als seus elements mitjançant els seus valors d'índex. També són immutables, és a dir, no podem afegir, eliminar i canviar els elements un cop declarats a la tupla, de manera que quan vam intentar afegir un element a l'índex 1, va generar l'error.

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>

Accés als valors en tuples de Python

Les tuples a Python ofereixen dues maneres d'accedir als elements d'una tupla.

  • Utilitzant un índex positiu
  • Utilitzant un índex negatiu

Python Access Tuple mitjançant un índex positiu

Utilitzant claudàtors podem obtenir els valors de tuples en Python.

Python 3




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>])>

>

>

Sortida:

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

Accediu a Tuple mitjançant l'índex negatiu

En els mètodes anteriors, utilitzem l'índex positiu per accedir al valor en Python, i aquí utilitzarem l'índex negatiu dins de [].

Python 3


classe abstracta



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>])>

>

>

Sortida:

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

Diferents operacions relacionades amb tuples

A continuació es mostren les diferents operacions relacionades amb les tuples a Python:

  • Concatenació
  • Nidificació
  • Repetició
  • Tallar
  • S'està suprimint
  • Trobar la longitud
  • Múltiples tipus de dades amb tuples
  • Conversió de llistes a tuples
  • Tuples en bucle

Concatenació de tuples de Python

A Concatenació de tuples de Python, utilitzarem els operadors més (+).

Python 3




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

>

>

Sortida:

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

Nidificació de tuples Python

Una tupla imbricada a Python significa una tupla dins d'una altra tupla.

Python 3




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

>

>

Sortida:

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

Repetició de tuples Python

Podem crear una tupla de diversos elements iguals a partir d'un sol element d'aquesta tupla.

Python 3




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

>

>

Sortida:

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

Proveu l'anterior sense coma i comproveu. Obtindreu tuple3 com a cadena 'pythonpythonpython'.

Tallar tuples en Python

Tallar una tupla Python significa dividir una tupla en tuples petites utilitzant el mètode d'indexació.

Python 3




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

>

>

Sortida:

En aquest exemple, hem tallat la tupla des de l'índex 1 fins a l'últim element. A la segona declaració d'impressió, vam imprimir la tupla mitjançant la indexació inversa. I a la tercera declaració d'impressió, vam imprimir els elements de l'índex 2 al 4.

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

Nota: En el tall Python, l'índex final proporcionat no està inclòs.

Suprimir una tupla a Python

En aquest exemple, estem suprimint una tupla amb ' del’ keyword . La sortida tindrà forma d'error perquè després d'eliminar la tupla, donarà un NameError.

Nota: No és possible eliminar elements de tupla individuals, però podem eliminar tota la tupla utilitzant la paraula clau Del.

Python 3




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

>

>

Sortida:

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

Trobar la longitud d'una tupla Python

Per trobar la longitud d'una tupla, podem utilitzar la funció len() de Python i passar la tupla com a paràmetre.

Python 3




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

>

>

Sortida:

 2>

Múltiples tipus de dades amb tuple

Les tuples a Python són de naturalesa heterogènia. Això significa que les tuples admeten elements amb diversos tipus de dades.

Python 3




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

>

>

Sortida:

('immutable', True, 23)>

Convertir una llista en una tupla

Podem convertir a llista en Python a una tupla utilitzant el constructor tuple() i passant la llista com a paràmetres.

Python 3




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

>

>

Sortida:

Les tuples prenen un únic paràmetre que pot ser una llista, una cadena, un conjunt o fins i tot un diccionari (només es prenen claus com a elements) i les converteix en una tupla.

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

Tuples en un bucle

També podem crear una tupla amb un sol element utilitzant bucles .

Python 3




# 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)>

>

>

Sortida:

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