python tuple tutorial with hands examples
Exploreu el concepte de Tuple a Python i Tuple vs List en aquest tutorial amb exemples:
A Python, tenim quatre tipus de dades de recopilació tal com s’esmenten a continuació:
- Llista
- Conjunt
- Diccionari
- Tuple
En aquest tutorial, analitzarem en profunditat Tuple a Python i les seves diverses operacions. No us perdeu la lectura del nostre Tot un ventall de tutorials de Python .
A Python, la tupla és una estructura de dades i és similar a una matriu que s’utilitza per emmagatzemar diverses dades alhora. Si teniu experiència en altres llenguatges de programació com Java, C, C ++, etc., coneixereu el concepte de matrius, de manera que la tupla és gairebé la mateixa que els matrius.
Què aprendreu:
- Què és una tupla?
- Llista contra tuples
- Creació d’una tupla
- Accedir als valors de Tuple
- Indexació negativa
- Tallar la tuple
- Canvi d'una tupla
- Conversió de la llista a tupla
- Conversió de tupla a cadena
- Ordeneu tupla a Python
- Embalatge i desembalatge de la tupla
- NamedTuple
- Torna la tupla
- Índex de tuples fora de rang
- Supressió de la tupla
- Operacions bàsiques de tuples
- Mètodes incorporats de Tuples
- Conclusió
- Lectura recomanada
Què és una tupla?
Una tupla és una estructura de dades que s’utilitza per emmagatzemar diverses dades alhora. Les dades emmagatzemades en una tupla són heterogènies i això, de fet, la converteix en la característica més poderosa de la tupla de Python. Podem emmagatzemar diverses dades de diferents tipus de dades, com ara Cadena, Nombres enters i objectes, en una mateixa tupla.
Una tupla és immutable a Python, de manera que no es poden canviar les dades un cop assignades.
S'accedeix a les dades emmagatzemades en una tupla mitjançant el seu índex, ja que l'índex de tuples sempre començarà des de zero. Cada element té un lloc específic a la tupla i s'accedeix a totes aquestes dades amb l'ajut de l'índex.
Llista contra tuples
- La llista de Python es pot modificar (els valors es poden canviar) mentre que la tupla és immutable (els valors no es poden canviar)
- En comparació amb l'estructura de dades de la llista, la tupla proporciona menys funcions a Python.
- Com que les tuples són immutables, augmenta el rendiment ja que la iteració en una tupla és més ràpida en comparació amb la llista.
Creació d’una tupla
Les dades d’una tupla s’emmagatzemen amb separacions per comes i s’emmagatzemen entre claudàtors (). Les tuples poden contenir qualsevol nombre d’elements de diferents tipus.
Sintaxi:
Tuple = (item1, item2, item3)
Exemple: 1
Tuple = ()
Exemple: 2
Tuple = (2, 4, 5.6)
Exemple: 3
Tuple = (2, 5, 4.5, “Hi”)
Exemple: 4
Tuple = (“Hi”, “Hello”, “Python”)
Si observem els exemples anteriors, hem emmagatzemat elements de diferents tipus de dades amb separacions per comes, on 2 i 5 són de tipus enter, 4.5 és de tipus float i ‘Hi’ és de tipus String. També podem declarar una tupla buida.
quant costa el pa torrat
També podem declarar una llista o tupla dins d’una tupla, i això s’anomena tupla imbricada.
Exemple: 5
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“Contents of tuple is:”, Tuple)
Sortida:
El contingut de la tupla és: ('Python', (2, 4, 6), (4, 5.6, 'Hola'))
Si observeu l'exemple anterior, hem declarat una llista i una tupla dins d'una altra tupla.
Si la tupla només conté un element, no es considera una tupla. Hauria de ser una coma final per especificar l’intèrpret que és una tupla.
Vegem, a l'exemple següent
Exemple: 6
my_tuple = (“Python”) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (10) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (“Python”, ) Print(“Type of my_tuple is:”, type(my_tuple))
Sortida:
El tipus de my_tuple és:
El tipus de my_tuple és:
El tipus de my_tuple és:
Accedir als valors de Tuple
Hi ha diverses maneres en què podem accedir als elements presents dins de la tupla a Python. Amb l’ajut d’un índex, podem accedir als elements de la tupla. L’índex comença a 0 i l’índex sempre ha de ser un enter. Si fem servir un índex que no sigui un enter com float, donarà lloc a TypeError.
Exemple: 1
Tuple = (3, 5, 6.7, “Python”) print(“Tuple is:”, Tuple)
Sortida:
La tupla és: (3. 5. 6.7, 'Python')
A l'exemple anterior, hem imprès directament la tupla mitjançant la funció d'impressió i no accedim als elements individuals de la tupla.
Accedim als elements individuals de la tupla.
Exemple: 2
Tuple = (3, 5, 6.7, “Python”) print(“Third element of the Tuple is:”, Tuple(2))
Sortida:
El tercer element de la tupla és: 6.7
Exemple: 3
Tuple = (3, 5, 6.7, “Python”) print(“First element of the Tuple is:”, Tuple(0)) print(“Last element of the Tuple is:”, Tuple(3))
Sortida:
El primer element de la tupla és: 3
L'últim element de la tupla és: 'Python'
També podem accedir als elements presents a la tupla imbricada amb l’ajut de la indexació imbricada.
Exemple: 4
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“First element of the tuple is:”, Tuple(0)(1)) print(“Items present inside another list or tuple is:”, Tuple(2)(1))
Sortida:
El primer element de la tupla és: 'y'
Els elements presents dins d’una altra llista o tupla són: 5.6
Com es discuteix al Tutorial sobre la llista de Python els valors de la llista imbricada s’emmagatzemen en forma de matriu, de manera similar, Tuple també segueix el mateix concepte.
P y t h o n
2 4 6
4 5,6 Hola
Per tant, quan provem d’accedir a Tuple (0) (1), assenyalarà l’1cfila i 2ndcolumna de manera que les dades seran 'y'.
De la mateixa manera, quan intentem accedir a la llista (2) (1), assenyalarà el 3rdfila i 2nda la columna, les dades seran 5.6
Nota:El concepte anterior només funciona quan intenteu accedir als elements de la tupla mitjançant la indexació imbricada.
Indexació negativa
També podem accedir a les dades mitjançant un índex negatiu. Un índex negatiu sempre començarà a partir de -1 i -1 es refereix a l'últim element i -2 es refereix a l'últim segon element i, per tant, al llarg.
Recordeu sempre que la indexació positiva s’utilitza per iterar els ítems d’una tupla de manera avançada, mentre que la indexació negativa segueix la forma enrere.
Exemple: 1
Tuple = (3, 5, 7.8) print(“Last element of the tuple is:”, Tuple(-1))
Sortida:
L'últim element de la tupla és: 7.8
Exemple: 2
Com puc obrir un fitxer EPS
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Sortida:
El primer element de la tupla és: 3
Tallar la tuple
Mitjançant l’operador slice (:), podem accedir a un ventall d’elements des de la tupla.
Exemple: 1
Tuple = (1, 2.5, 3, 4.9, 5, 6, “Python”) print(“Elements from 2nd to 5th is: ”, Tuple(1:5)) print(“Elements beginning to 4th is: ”, Tuple(:-3)) print(“Elements 4th to end is: ”, Tuple(3:)) print(“Elements from start to end is: “, Tuple(:))
Sortida:
Els elements del 2n al 5è són: (2,5, 3, 4,9, 5)
Els elements que comencen al quart són: (1, 2,5, 3, 4,9)
Els elements del quart al final són: (4.9, 5, 6, 'Python')
Els elements del principi al final són: (1, 2,5, 3, 4,9, 5, 6, 'Python')
També podem accedir als elements presents a la tupla mitjançant el bucle for.
Exemple: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Sortida:
1
2
3.5
5
'Hola'
Canvi d'una tupla
Com sabem, les tuples són immutables a Python, per tant, les dades no es poden canviar, però les llistes són mutables. Per tant, es poden canviar les llistes presents a les tuples (tupla imbricada).
Exemple: 1
Tuple = (3, 4.5, (4, 5, 6)) print(“Original Tuple is:”, Tuple) Tuple(2)(0) = 2 print(“Updated Tuple is:”, Tuple)
Sortida:
La tupla original és: (3, 4.5, (4, 5, 6))
La tupla actualitzada és: (3, 4.5, (2, 5, 6))
No podem utilitzar la funció append () ni extend () a la tupla, ja que les tuples són immutables. Tampoc no podeu utilitzar la funció remove () ni pop ().
Conversió de la llista a tupla
Podem convertir una llista en tupla mitjançant una funció integrada de Python anomenada tupla ().
Sintaxi:
tuple(arg1)
La funció Tuple () accepta un argument i l'argument hauria de ser el nom de la variable de llista.
Exemple: 1
List = (2, 4, 5.6, “Hi”) print(“Original List is:”, List) Tuple = tuple(List) print(“After converting to tuple is:”, Tuple)
Sortida:
La llista original és: (2, 4, 5.6, 'Hola')
Després de convertir-la en tupla hi ha: (2, 4, 5.6, 'Hola')
Conversió de tupla a cadena
També podem convertir tupla en cadena de dues maneres.
Enfocament: 1
Mitjançant el mètode incorporat join () de String, podem convertir Tuple en String.
Exemple: 1
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Sortida:
Abans de convertir a cadena: ('P', 'y', 't', 'h', 'o', 'n')
Després de convertir-lo a cadena: 'Python'
Enfocament: 2
El mètode reduce () dels functools s'utilitza per convertir tupla en cadena. Aquest mètode concatena el caràcter present a la tupla i produeix una cadena.
Exemple: 2
import operator import functools def convertTupleToString(my_tuple): s = functools.reduce(operator.add, (my_tuple)) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Sortida:
Abans de convertir a cadena: ('P', 'y', 't', 'h', 'o', 'n')
Després de convertir-lo a cadena: 'Python'
Nota: Podeu convertir tupla a cadena només si la tupla conté caràcters. Si la tupla conté algun element de tipus enter o float, llançarà un error.
Exemple: 3
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, 4, 6.5) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Sortida:
Abans de convertir a cadena: ('P', 'y', 't', 'h', 'o', 'n', 4, 6.5)
Traceback (última trucada més recent):
Fitxer '', línia 1, a
str = ”.join (tupla)
TypeError: element de seqüència 6: instància str esperada, int trobada
Ordeneu tupla a Python
A Python, tenim una funció integrada anomenada sorted () per ordenar els elements de la tupla.
Sintaxi:
sorted(arg1)
El mètode sorted () accepta un argument que és un nom de variable.
Exemple: 1
def sortTuple(my_tuple): sort = sorted(my_tuple) return sort Tuple = (2, 4, 6, 1, 4, 7.8, 2.7) print(“Before sorting the Tuple is:”, Tuple) sortedTuple = sortTuple(Tuple) print(“After sorting the Tuple is:”, sortedTuple)
Sortida:
Abans d'ordenar la tupla és: (2, 4, 6, 1, 4, 7.8, 2.7)
Després d'ordenar la tupla hi ha: (1, 2, 2.7, 4, 4, 6, 7.8)
Embalatge i desembalatge de la tupla
Python proporciona una característica important anomenada embalatge i desembalatge. En empaquetar, posem el valor en una tupla, però en desempaquetar, extraiem tots aquells valors emmagatzemats a les tuples en variables.
Exemple: 1
Tuple = (“John”, 23567, “Software Engineer”) (eName, eID, eTitle) = Tuple print(“Packed tuples is:”, Tuple) print(“Employee name is:”, eName) print(“Employee ID is:”, eID) print(“Employee Title is:”, eTitle)
Sortida:
Les tuples empaquetades són: ('John', 23567, 'Enginyer de programari')
El nom del treballador és: John
La identificació de l’empleat és: 23567
El títol de l’empleat és: Enginyer de programari
Si observeu en el cas anterior de la línia número 2, estem descomprimint la tupla en algunes variables.
Nota: El nombre d’elements de la tupla hauria de ser igual al nombre de variables de la tupla sense empaquetar.
NamedTuple
Python proporciona un tipus especial de funció anomenada namedtuple () que prové del mòdul de col·lecció.
Les tuples anomenades són similars a un diccionari que conté claus i valors. Però la diferència és que al diccionari només podem accedir al valor mitjançant la clau, però NamedTuple admet l'accés tant des del valor com des de la clau.
Hi ha tres maneres a través de les quals podem accedir als valors de nemaedtuple ().
- Accés per índex
- Accés per clau
- Accés mitjançant el mètode getattr ()
Exemple: 1
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) #Accessing using index print(“Employee name is:”, Emp(0)) # Accessing using key print(“Employee ID is:”, Emp.ID) #Access by getattr() method print(“Employee Title is:”, getattr(Emp, ‘Title’))
Sortida:
El nom del treballador és: John
La identificació de l’empleat és: 23567
El títol de l’empleat és: Enginyer de programari
També comptem amb tres operacions de conversió per a la funció namedtuples ().
- _make ()
- _asdict ()
- ** Operador (doble inici)
Exemple: 2
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) Emp1 = (‘Mathew’, ‘45783’, “Software Developer”) Emp2 = {‘name’ : “Helen”, ‘ID’ : 56873, ‘Title’ : “Test Lead”} #Using _make() print(Employee._make(Emp1)) #Using _asdict() print(Emp._asdict()) #Using ** operator print(Employee(**Emp2))
Sortida:
Empleat (name = 'Mathew', ID = '45783', Title = 'Programador')
OrderedDict ((('nom', 'John'), ('ID', '23567'), ('Títol', 'Enginyer de programari')))
Empleat (name = 'Helen', ID = 56873, Title = 'Test Lead')
Torna la tupla
Podem retornar la col·lecció de valors o tuples mitjançant la declaració return.
Exemple: 1
def my_fun(): name = “John” ID = 23567 Title = “Software Engineer” return (name, ID, Title) employee = my_fun() print(“Employee detail is:”, employee)
Sortida:
El detall dels empleats és: ('John', 23567, 'Enginyer de programari')
Índex de tuples fora de rang
L’índex fora d’abast és una de les excepcions habituals que obtindrem mentre treballem amb tuples o llista. Aquesta excepció sol produir-se quan intenteu accedir a un element fora de la tupla, rang, el que significa que si les tuples només contenen 3 elements i si intenteu accedir als 4thelement obtindrà l’índex de tuples de l’excepció de rang.
Exemple: 1
Tuple = (4, 7, 1.2, “Hi”) print(Tuple(4))
Sortida:
Traceback (última trucada més recent):
Fitxer '', línia 1, a
Tupla (4)
IndexError: índex de tupla fora del rang
Si observeu a l’exemple anterior, intentem accedir a l’element que hi ha al 5thposició, però no hi ha cap element present, de manera que llança l'índex de tupla fora de l'interval.
Supressió de la tupla
No podem eliminar elements individuals de la tupla, ja que les tuples són immutables. L’única manera d’eliminar els elements de la tupla és eliminar tota la tupla.
Python proporciona una funció integrada 'del' per eliminar tota la tupla.
Exemple: 1
Tuple = (2, 4.5, “Python”) print(“Before deleting the tuple:”, Tuple) del Tuple print(“After Deleting the tuple:”, Tuple)
Sortida:
Abans de suprimir la tupla: (2, 4.5, 'Python')
Traceback (última trucada més recent):
Fitxer '', línia 1, a
imprimir ('Després de suprimir la tupla:', tupla)
NameError: el nom 'Tuple' no està definit
A l’exemple anterior, després d’eliminar la tupla, intentem imprimir la tupla, però ja no existeix. Per tant, llança NameError.
Operacions bàsiques de tuples
Mitjançant les tuples, podem realitzar algunes operacions bàsiques com la concatenació, la repetició, etc.
Vegem totes les operacions bàsiques amb alguns exemples.
Exemple: 1 - Concatenació de tuples
Podem concatenar les tuples amb l’operador ‘+’.
Tuple1 = (3, 5, “Hi”) Tuple2 = (5.6, 1, “Python”) print(“Tuple 1 is:”, Tuple1) print(“Tuple 2 is”, Tuple2) print(“Concatenation of Tuple 1 and Tuple 2 is:”, Tuple1+Tuple2)
Sortida:
La tupla 1 és: (3, 5, 'Hola')
La tupla 2 és: (5.6, 1, 'Python')
La concatenació de Tuple 1 i Tuple 2 és: (3, 5, 'Hola', 5.6, 1, 'Python')
Exemple: 2 - Repetició de tuples
La repetició de tuples significa repetir els elements de les tuples diverses vegades. Això es pot aconseguir mitjançant l’operador ‘*’.
Tuple = (3, 1, 5.6, “Python”) print(“Before the repetition the tuple is:”, Tuple) print(“After the repetition the tuple is:”, Tuple*3)
Sortida:
com afegir un element a una matriu a Java
Abans de la repetició, la tupla és: (3, 1, 5.6, 'Python')
Després de la repetició, la tupla és: (3, 1, 5.6, 'Python', 3, 1, 5.6, 'Python', 3, 1, 5.6, 'Python')
Exemple: 3 - Operador de pertinença
Mitjançant l’operador ‘in’, podem comprovar si hi ha un element concret a la tupla. Retorna el valor booleà True si l'element és present a la tupla i torna False si l'element no està present.
Tuple = (3, 2, 6) print(“Is element 2 present in Tuple:”, 2 in Tuple)
Sortida:
L’element 2 està present a tupla: cert
Mètodes incorporats de Tuples
Python proporciona un parell de mètodes integrats per a tuples, tal com es descriu a la taula següent.
Mètodes | Descripció |
---|---|
cap() | Retorna True si hi ha algun element present en una tupla i torna False si la tupla està buida |
min () | Retorna l'element més petit (enter) de la tupla |
màx () | Retorna l'element més gran (enter) de la tupla |
len () | Retorna la longitud de la tupla |
ordenat () | S'utilitza per ordenar tots els elements de la tupla |
suma() | Retorna la suma de tots els elements (nombres enters) de les tuples |
Vegem com fer servir tots els mètodes amb un exemple.
Exemple: 1 - mètode any ()
Tuple = (3, 1, 4.5) print(“Is there any elements present in Tuple:”, any(Tuple)) Tuple1 = () print(“Is there any elements present in Tuple1:”, any(Tuple1))
Sortida:
Hi ha algun element present a Tuple: True
Hi ha algun element present a Tuple1: False
Exemple: mètode 2 - min ()
Tuple = (3, 5.6, 5, 8) print(“Smallest element in the tuples is:”, min(Tuple))
Sortida:
L'element més petit de les tuples és: 3
Exemple: mètode 3 - max ()
Tuple = (3, 5.6, 5, 8) print(“Largest element in the tuples is:”, max(Tuple))
Sortida:
L'element més gran de les tuples és: 8
Exemple: mètode 4 - len ()
Tuple = (3, 5.6, 5, 8) print(“Length of the tuple is:”, len(Tuple))
Sortida:
La longitud de la tupla és: 4
Exemple: 5 - mètode sorted ()
Tuple = (2, 3.5, 1, 6, 4) print(“Sorted integer is:”, sorted(Tuple)) Tuple1 = (‘e’, ‘a’, ‘u’, ‘o’, ‘i’) print(“Sorted character is:”, sorted(Tuple1))
Sortida:
El nombre enter ordenat és: (1, 2, 3,5, 4, 6)
El caràcter ordenat és: ('a', 'e', 'i', 'o', 'u')
Exemple: mètode 6 - sum ()
Num = (3, 5.1, 2, 9, 3.5) print('Sum of all the numbers in the tuples is:', sum(Num))
Sortida:
La suma de tots els números de les tuples és: 22,6
Conclusió
Una tupla és un dels tipus de dades de Python, que també es coneix com a estructura de dades.
Una tupla Python s'utilitza per emmagatzemar un gran nombre de valors de qualsevol tipus de dades en una sola variable. Les tuples són immutables, de manera que augmenta el rendiment d’accedir als valors des de la tupla.
Quan treballeu amb tuples, és obligatori recordar tots els mètodes integrats de tupla.
Espero que hagueu adquirit un coneixement immens sobre el concepte de tupla a Python.
Lectura recomanada
- Tutorial de Python DateTime amb exemples
- Tutorial Python per a principiants (entrenament pràctic GRATU PyT en Python)
- Tutorial de funcions principals de Python amb exemples pràctics
- Tutorials Eclipse en profunditat per a principiants
- Funcions de cadena de Python
- Tutorial Python String Split
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java
- Variables de Python