3.3. Presentación de las tuplas

Una tupla es una lista inmutable. Una tupla no puede cambiar de ninguna manera una vez creada.

Ejemplo 3.15. Definir una tupla

>>> t = ("a", "b", "mpilgrim", "z", "ejemplo") 1
>>> t
('a', 'b', 'mpilgrim', 'z', 'ejemplo')
>>> t[0]                                       2
'a'
>>> t[-1]                                      3
'ejemplo'
>>> t[1:3]                                     4
('b', 'mpilgrim')
1 Una tupla se define de la misma manera que una lista, excepto que el conjunto de elementos se encierra entre paréntesis en lugar de corchetes.
2 Los elementos de una tupla tienen un orden definido, como una lista. Los índices de las tuplas comienzan en cero, igual que una lista, de manera que el primer elemento de una tupla que no esté vacía siempre es t[0].
3 Los índices negativos cuentan desde el final de la tupla, justo como en una lista.
4 También funciona el slicing. Observe que cuando trocea una lista, obtiene una nueva lista; cuando trocea una tupla, obtiene una nueva tupla.

Ejemplo 3.16. La tuplas no tienen métodos

>>> t
('a', 'b', 'mpilgrim', 'z', 'ejemplo')
>>> t.append("nuevo")  1
Traceback (innermost last):
  File "<interactive input>", line 1, in ?
AttributeError: 'tuple' object has no attribute 'append'
>>> t.remove("z")      2
Traceback (innermost last):
  File "<interactive input>", line 1, in ?
AttributeError: 'tuple' object has no attribute 'remove'
>>> t.index("ejemplo") 3
Traceback (innermost last):
  File "<interactive input>", line 1, in ?
AttributeError: 'tuple' object has no attribute 'index'
>>> "z" in t           4
True
1 No puede añadir métodos a una tupla. Las tuplas no tienen métodos append o extend.
2 No puede eliminar elementos de una tupla. Las tuplas no tienen métodos remove o pop.
3 No puede buscar elementos en una tupla. Las tuplas no tienen método index.
4 Sin embargo, puede usar in para comprobar si existe un elemento en la tupla.

¿Para qué sirven entonces las tuplas?

nota
Las tuplas se pueden convertir en listas, y viceversa. La función incorporada tuple toma una lista y devuelve una tupla con los mismos elementos, y la función list toma una tupla y devuelve una lista. En efecto, tuple "congela" una lista, y list "descongela" una tupla.

Más sobre tuplas