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+)

tup1 = ('physics', 'chemistry', 1997, 2000) tup2 = (1, 2, 3, 4, 5 ) tup3 = "a", "b", "c", "d"

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+)

#!/usr/bin/python tup1 = ('physics', 'chemistry', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 6, 7 ) print "tup1[0]: ", tup1[0] print "tup2[1:5]: ", tup2[1:5]

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+)

#!/usr/bin/python # -*- coding: UTF-8 -*- tup1 = (12, 34.56) tup2 = ('abc', 'xyz') # La siguiente operación de modificación de elementos de tupla es ilegal. # tup1[0] = 100 # Crear una nueva tupla tup3 = tup1 + tup2 print tup3

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+)

#!/usr/bin/python tup = ('physics', 'chemistry', 1997, 2000) print tup del tup print "After deleting tup : " print tup

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 PythonResultadoDescripción
len((1, 2, 3))3Calcular 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)TrueSi el elemento existe
for x in (1, 2, 3): print x,1 2 3Iteració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 PythonResultadoDescripció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+)

#!/usr/bin/python print 'abc', -4.24e93, 18+6.6j, 'xyz' x, y = 1, 2 print "Value of x , y : ", x,y

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
1cmp(tuple1, tuple2)
Compara los elementos de dos tuplas.
2len(tuple)
Calcula el número de elementos de la tupla.
3max(tuple)
Devuelve el valor máximo de los elementos de la tupla.
4min(tuple)
Devuelve el valor mínimo de los elementos de la tupla.
5tuple(seq)
Convierte una lista en una tupla.
Otras extensiones