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:
Definir simple de tupla
1 |
|
Definir tuplas anidadas
1 |
|
Operación asignar de valores de una tupla en variables
1 |
|
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:
>>> tecnologias = ("Zope", "Plone", "Pyramid")
>>> for contador, tecnologia in enumerate(tecnologias, start=1):
... print(contador, tecnologia)
...
1 Zope
2 Plone
3 Pyramid
>>>
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
Este script da como resultado el siguiente mensaje:
Definiendo conexión a BD MySQL
==============================
Conexión típica: ('127.0.0.1', 'root', 'qwerty', 'nomina') <class 'tuple'>
Conexión con parámetros adicionales: (('127.0.0.1', 'root', 'qwerty', 'nomina'), '3307', '10') <class 'tuple'>
IP de la BD: 127.0.0.1
Usuario de la BD: root
Contraseña de la BD: qwerty
Nombre de la BD: nomina
Puerto de conexión: 3307
Tiempo de espera en conexión: 10
Más información acerca de MySQL y Python http://mysql-python.sf.net/MySQLdb.html
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.
¿Cómo puedo ayudar?
¡Mi soporte está aquí para ayudar!
Mi horario de oficina es de lunes a sábado, de 9 AM a 5 PM. GMT-4 - Caracas, Venezuela.
La hora aquí es actualmente 7:35 PM GMT-4.
Mi objetivo es responder a todos los mensajes dentro de un día hábil.
