Python Tuplas
Las tuplas de Python son similares a las listas, con la diferencia de que los elementos de una tupla no se pueden modificar.
Las tuplas usan paréntesis, mientras que las listas usan corchetes.
Crear una tupla es muy sencillo: solo necesitas agregar elementos entre paréntesis y separarlos con comas.
Como en el siguiente ejemplo:
Ejemplo (Python 2.0+)
Crear una tupla vacía
tup1 = ()
Cuando la tupla contiene un solo elemento, es necesario agregar una coma después del elemento
tup1 = (50,)
Las tuplas son similares a las cadenas: el índice comienza en 0 y se pueden segmentar, combinar, etc.
Acceder a tuplas
Las tuplas pueden usar índices para acceder a los valores de la tupla, como en el siguiente ejemplo:
Ejemplo (Python 2.0+)
El resultado del ejemplo anterior es:
tup1[0]: physics tup2[1:5]: (2, 3, 4, 5)
Modificar tuplas
Los valores de los elementos de una tupla no se pueden modificar, pero podemos concatenar y combinar tuplas, como en el siguiente ejemplo:
Ejemplo (Python 2.0+)
El resultado del ejemplo anterior es:
(12, 34.56, 'abc', 'xyz')
Eliminar tuplas
Los valores de los elementos de una tupla no se pueden eliminar, pero podemos usar la sentencia del para eliminar toda la tupla, como en el siguiente ejemplo:
Ejemplo (Python 2.0+)
Después de que la tupla del ejemplo anterior se elimina, la variable de salida mostrará un mensaje de excepción, como se muestra a continuación:
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup
NameError: name 'tup' is not defined
Operadores de tuplas
Igual que las cadenas, las tuplas pueden usar los operadores + y * para realizar operaciones. Esto significa que se pueden combinar y copiar, y después de la operación se generará una nueva tupla.
| Expresión de Python | Resultado | Descripción |
|---|---|---|
| len((1, 2, 3)) | 3 | Calcular el número de elementos |
| (1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | Concatenación |
| ('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | Copia |
| 3 in (1, 2, 3) | True | Si el elemento existe |
| for x in (1, 2, 3): print x, | 1 2 3 | Iteración |
Indexación y segmentación de tuplas
Como la tupla también es una secuencia, podemos acceder a los elementos en una posición específica de la tupla, y también podemos segmentar un rango de elementos del índice, como se muestra a continuación:
Tupla:
L = ('spam', 'Spam', 'SPAM!')
| Expresión de Python | Resultado | Descripción |
|---|---|---|
| L[2] | 'SPAM!' | Leer el tercer elemento |
| L[-2] | 'Spam' | Lectura inversa, leer el penúltimo elemento |
| L[1:] | ('Spam', 'SPAM!') | Segmentar elementos |
Sin delimitadores de cierre
Cualquier objeto sin delimitadores, separado por comas, es por defecto una tupla, como en el siguiente ejemplo:
Ejemplo (Python 2.0+)
El resultado de ejecución del ejemplo anterior es:
abc -4.24e+93 (18+6.6j) xyz Value of x , y : 1 2
Funciones incorporadas de tuplas
Las tuplas de Python incluyen las siguientes funciones incorporadas
| N.º | Método y descripción |
|---|---|
| 1 | cmp(tuple1, tuple2) Compara los elementos de dos tuplas. |
| 2 | len(tuple) Calcula el número de elementos de la tupla. |
| 3 | max(tuple) Devuelve el valor máximo de los elementos de la tupla. |
| 4 | min(tuple) Devuelve el valor mínimo de los elementos de la tupla. |
| 5 | tuple(seq) Convierte una lista en una tupla. |