3.10. Tipo tuplas¶
Las tuplas son objetos de tipo secuencia, específicamente es un tipo de dato lista inmutable. Esta no puede modificarse de ningún modo después de su creación.
3.10.1. Métodos¶
Son muy similares a las listas y comparten varias de sus funciones y métodos integrados, aunque su principal diferencia es que son inmutables. El objeto de tipo tupla integra una serie de métodos integrados a continuación:
3.10.1.1. count()¶
Este método recibe un elemento como argumento, y cuenta la cantidad de veces que aparece en la tupla.
>>> valores = ("Python", True, "Zope", 5)
>>> print "True ->", valores.count(True)
True -> 1
>>> print "'Zope' ->", valores.count('Zope')
'Zope' -> 1
>>> print "5 ->", valores.count(5)
5 -> 1
3.10.1.2. index()¶
Comparte el mismo método index() del tipo lista. Este método recibe un elemento como argumento, y devuelve el índice de su primera aparición en la tupla.
>>> valores = ("Python", True, "Zope", 5)
>>> print valores.index(True)
1
>>> print valores.index(5)
3
El método devuelve un excepción ValueError si el elemento no se encuentra en la tupla, o en el entorno definido.
>>> valores = ("Python", True, "Zope", 5)
>>> print valores.index(4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple
3.10.2. Convertir a tuplas¶
Para convertir a tipos tuplas debe usar la función tuple(), la cual está integrada en el interprete Python.
Truco
Para más información consulte las funciones integradas para operaciones de secuencias.
3.10.3. Ejemplos¶
A continuación, se presentan algunos ejemplos de su uso:
Ejemplo de definir simple de tupla
tupla = 12345, 54321, 'hola!'
Ejemplo de definir tuplas anidadas
otra = tupla, (1, 2, 3, 4, 5)
Operación asignar de valores de una tupla en variables
x, y, z = tupla
Cuidar seguimiento del número de la numeración
Una tarea común es iterar sobre una secuencia mientras cuidas el seguimiento de la numeración de un elemento.
Podría usar un bucle while
con un contador o un bucle for
usando la función
range() y la función len():
>>> tecnologias = ('Zope', 'Plone', 'Pyramid')
>>> for i in range(0, len(tecnologias)):
... print i, tecnologias[i]
...
0 Zope
1 Plone
2 Pyramid
Pero, Python provee la palabra reservada enumerate
para esto:
print ("\nIterar tupla con función enumerate")
print ("==================================\n")
for index, item in enumerate(conexion_completa):
print (index, item)
Caso real de conexión a BD
A continuación, un ejemplo más apegado a la realidad que busca establecer una conexión a una BD:
print ("\nDefiniendo conexión a BD MySQL")
print ("==============================\n")
conexion_bd = "127.0.0.1","root","qwerty","nomina",
print ("Conexión típica:", conexion_bd)
print (type(conexion_bd))
conexion_completa = conexion_bd, "3307","10",
print ("\nConexión con parámetros adicionales:", conexion_completa)
print (type(conexion_completa))
print ("\n")
print ("IP de la BD:", conexion_completa[0][0])
print ("Usuario de la BD:", conexion_completa[0][1])
print ("Contraseña de la BD:", conexion_completa[0][2])
print ("Nombre de la BD:", conexion_completa[0][3])
print ("Puerto de conexión:", conexion_completa[1])
print ("Tiempo de espera en conexión:", conexion_completa[2])
print ("""\nMás información acerca de MySQL y Python \
http://mysql-python.sf.net/MySQLdb.html\n""")
3.10.4. Ayuda integrada¶
Usted puede consultar toda la documentación disponible sobre las tuplas desde la consola interactiva de la siguiente forma:
>>> help(tuple)
Importante
Usted puede descargar el código usado en esta sección haciendo clic
aquí
.
Truco
Para ejecutar el código tipo_tuplas.py
, abra una consola de comando,
acceda al directorio donde se encuentra el mismo, y ejecute el siguiente comando:
python tipo_tuplas.py
Ver también
Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.