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