Python3 Tuplas
Las tuplas de Python son similares a las listas, la diferencia es que los elementos de una tupla no se pueden modificar.
Las tuplas usan paréntesis( ), las listas usan corchetes[ ]。
Crear una tupla es muy sencillo, solo hay que añadir elementos entre paréntesis y separarlos con comas.

Ejemplo (Python 3.0+)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d" # No se necesitan paréntesis tampoco
>>> type(tup3)
<class 'tuple'>
Crear una tupla vacía
tup1 = ()
Cuando una tupla contiene solo un elemento, se debe añadir una coma después del elemento,, de lo contrario los paréntesis se tratarán como operadores:
Ejemplo (Python 3.0+)
>>> type(tup1) # Sin coma, el tipo es entero
<class 'int'>
>>> tup1 = (50,)
>>> type(tup1) # Con coma, el tipo es tupla
<class 'tuple'>
Las tuplas son similares a las cadenas; el índice comienza en 0, y se pueden segmentar, combinar, etc.

Acceder a tuplas
Se pueden usar índices para acceder a los valores de una tupla, como en el siguiente ejemplo:
Ejemplo (Python 3.0+)
El resultado del ejemplo anterior es:
tup1[0]: Google 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 3.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 instrucción del para eliminar toda la tupla, como en el siguiente ejemplo:
Ejemplo (Python 3.0+)
Después de eliminar la tupla en el ejemplo anterior, la variable de salida mostrará un mensaje de error, como se muestra a continuación:
删除后的元组 tup :
Traceback (most recent call last):
File "test.py", line 8, in <module>
print (tup)
NameError: name 'tup' is not defined
Operadores de tuplas
Al igual que las cadenas, entre tuplas se puede usar el+、+=y*signo + para realizar operaciones. Esto significa que se pueden combinar y copiar, y después de la operación se genera una nueva tupla.
| Expresión de Python | Resultado | Descripción |
|---|---|---|
len((1, 2, 3)) | 3 | Cuenta el número de elementos |
>>> a = (1, 2, 3) >>> b = (4, 5, 6) >>> c = a+b >>> c (1, 2, 3, 4, 5, 6) | (1, 2, 3, 4, 5, 6) | Concatenación; c es una nueva tupla que contiene todos los elementos de a y b. |
>>> a = (1, 2, 3) >>> b = (4, 5, 6) >>> a += b >>> a (1, 2, 3, 4, 5, 6) | (1, 2, 3, 4, 5, 6) | Concatenación; a se convierte en una nueva tupla que contiene todos los elementos de a y b. |
('Hi!',) * 4
| ('Hi!', 'Hi!', 'Hi!', 'Hi!') | Repetición |
3 in (1, 2, 3) | True | Existencia del elemento |
for x in (1, 2, 3):
print (x, end=" ") | 1 2 3 | Iteración |
Indexación y segmentación de tuplas
Como una tupla también es una secuencia, podemos acceder a elementos en posiciones específicas de la tupla, y también segmentar un rango de elementos según el índice, como se muestra a continuación:
Tupla:
tup = ('Google', 'Ejemplo', 'Taobao', 'Wiki', 'Weibo','Weixin')

| Expresión de Python | Resultado | Descripción |
|---|---|---|
| tup[1] | 'Ejemplo' | Lee el segundo elemento |
| tup[-2] | 'Weibo' | Lectura inversa, lee el penúltimo elemento |
| tup[1:] | ('Ejemplo', 'Taobao', 'Wiki', 'Weibo', 'Weixin') | Segmenta los elementos, desde el segundo en adelante. |
| tup[1:4] | ('Ejemplo', 'Taobao', 'Wiki') | Segmenta los elementos, desde el segundo hasta el cuarto elemento (índice 3). |
A continuación se muestra un ejemplo en ejecución:
Ejemplo
>>> tup[1]
'Ejemplo'
>>> tup[-2]
'Weibo'
>>> tup[1:]
('Ejemplo', 'Taobao', 'Wiki', 'Weibo', 'Weixin')
>>> tup[1:4]
('Ejemplo', 'Taobao', 'Wiki')
>>>
Funciones integradas de tuplas
Las tuplas de Python incluyen las siguientes funciones integradas:
| N.º | Método y descripción | Ejemplo |
|---|---|---|
| 1 | len(tuple) Cuenta el número de elementos de la tupla. |
>>> tuple1 = ('Google', 'Ejemplo', 'Taobao')
>>> len(tuple1)
3
>>>
|
| 2 | max(tuple) Devuelve el valor máximo de los elementos de la tupla. |
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>>
|
| 3 | min(tuple) Devuelve el valor mínimo de los elementos de la tupla. |
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>>
|
| 4 | tuple(iterable) Convierte una serie iterable en una tupla. |
>>> list1= ['Google', 'Taobao', 'Ejemplo', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Ejemplo', 'Baidu')
|
Acerca de que las tuplas son inmutables
La inmutabilidad de una tupla se refiere a que el contenido de la memoria a la que apunta la tupla no se puede cambiar.
>>> tup[0] = 'g' # No se permite modificar elementos
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> id(tup) # Ver la dirección de memoria
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800 # La dirección de memoria es diferente
En el ejemplo anterior se puede ver que la tupla tup, al ser reasignada, se vincula a un nuevo objeto, no se modifica el objeto original.
Otras extensiones