Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7.5 Tuplas
Una tupla es una colección de datos que pueden tener diferente tipo. Los datos se
escriben entre paréntesis, separados por comas con la siguiente sintaxis. Opcionalmente
se pueden omitir los paréntesis:
Los componentes de una tupla no se pueden modificar después de haber sido creados.
Las celdas son numeradas desde cero. El primer componente, o primera celda, tiene
índice 0. El segundo componente, o segunda celda, tiene índice 1, etc.
Se puede acceder a los componentes de una tupla mediante un índice entre corchetes
Los siguientes ejemplo son iguales a los usados en la sección en la que se describen las
listas, pero ahora los resultados no son listas sino tuplas.
Python Programación
309
>>> x=(3,[6,7],8,(4,5),2)
>>> x[1]
[6, 7]
>>> t = (34,'abc',42)
>>> a,b,c = t
>>> a
34
>>> b
'abc'
>>> c
42
Python Programación
310
>>> a=(23,45,28)
>>> b=(52,19)
>>> c=a+b
>>> c
(23, 45, 28, 52, 19)
>>> d=3*b
>>> d
(52, 19, 52, 19, 52, 19)
>>> a=(28,73,45,67,26,45)
>>> len(c)
6
>>> 45 in a
True
>>> max(a)
73
>>> max(a[2:len(a)]) Se puede especificar el rango de búsqueda
67
>>> min(a)
26
>>> sum(a)
284
>>> sum(a[2:6])
183
>>> del a Elimina la tupla completa
>>> a
>>> a=(27,23,45,23,28)
>>> a.index(23) Indice de la primera coincidencia
1
>>> a.count(23) Conteo de coincidencias
2
No se puede eliminar elementos de una tupla, para hacerlo primero se la puede convertir a
una lista, realizar la operación y luego convertirla nuevamente a tupla.
Python Programación
311
>>> a=(28,73,45,67,26,45)
>>> for e in a:
print(e)
28
73
45
67
26
45
>>> x=x+(7)
TypeError: solamente se pueden concatenar tuplas a tuplas
>>> x=5,
>>> x=x+(7,) Concatenación correcta
>>> x x es una tupla
(5, 7)
>>> x=(5,7,4,8)
>>> x=x+(6)
TypeError: solamente se pueden concatenar tuplas a tuplas
Python Programación
312
Una función para formar una tupla con los cuadrados de los enteros
def cuadrado(n):
y=2*n
return y
t=()
for n in range(5):
e=cuadrado(n)
t=t+(e) Esta concatenación es incorrecta
print(t)
Una solución correcta es redefinir el resultado obtenido de la función como una tupla:
def cuadrado(n):
y=2*n
return y
t=()
for n in range(5):
e=cuadrado(n)
t=t+(e,)
print(t)
Resultado
(0, 2, 4, 6, 8)
Otra solución correcta es definir como una tupla el resultado que entrega la función:
def cuadrado(n):
y=2*n
return y,
t=()
for n in range(5):
e=cuadrado(n)
t=t+(e)
print(t)
Resultado
(0, 2, 4, 6, 8)
Opcionalmente, se puede operar con listas y el resultado final convertirlo a tupla antes de
mostrar el resultado.
Python Programación
313
7.6 Conjuntos
Los conjuntos se construyen como una lista de valores encerrados entre llaves. También
se pueden definir conjuntos con la instrucción set(c) en donde c representa cualquier
objeto que se pueda indexar, como tuplas, listas o cadenas de caracteres. Por definición,
los componentes de un conjunto no están ordenados ni contienen elementos repetidos.
Sean: a, b: conjuntos
Símbolo Operación Resultado Función equivalente
a | b Unión de conjuntos Conjunto a.union(b)
a & b Intersección de conjuntos Conjunto a.intersection(b)
a – b Diferencia de conjuntos Conjunto a.difference(b)
a ^ b Diferencia simétrica de conjunts Conjunto a.symmetric_difference(b)
a < b Subconjunto Valor lógico a.issubset(b)
Python Programación
314
>>> a={2,5,3,7,8,9}
>>> b={9,5,4}
>>> c={9,5,8}
>>> b<a
False
>>> c<a
True
Python Programación
315
>>> a='programa'
>>> b='panorama'
>>> c=set(a) & set(b) Convertir cadenas a conjuntos
>>> c
{'a', 'r', 'o', 'p', 'm'} Los elementos no están en orden
>>> len(c)
5
>>> x={7,3,8,6,9}
>>> len(x)
5
>>> sum(x)
33
>>> min(x)
3
>>> max(x)
9
>>> x=set([7,3,8,6,9])
>>> x
{8, 9, 3, 6, 7}
>>> x={7,3,8,6,9}
>>> x.remove(6) Eliminar elemento
>>> x
{8, 9, 3, 7}
>>> x.remove(5) Error: el elemento no está en el conjunto
KeyError: 5
Python Programación
316
>>> x={7,3,8,6,9}
>>> t=x.pop() Elimina un elemento aleatorio del conjunto
>>> t
8
>>> t=x.pop()
>>> t
9
>>> t=x.pop()
>>> t
3
>>> x Contenido actual del conjunto
{6, 7}
>>> x={7,3,8,6,9}
>>> for e in x:
print(e)
8
9
3
6
7
>>>
Cuantos datos: 5
Elemento: 23
Elemento: 45
Elemento: 23
Elemento: 78
Elemento: 42
{42, 45, 78, 23} El elemento repetido fue eliminado
Los elementos no están ordenados
Python Programación