Las tuplas son una estructura de datos fundamental en Python que comparten similitudes con las listas, pero con una diferencia clave: son inmutables. Es decir, una vez creadas, sus elementos no pueden modificarse. Esta característica las hace ideales para almacenar datos que no deben cambiar a lo largo de la ejecución de un programa. Vamos a explorar más sobre su uso y características distintivas.
¿Cómo crear una tupla en Python?
Para declarar una tupla, utilizamos paréntesis. Una tupla puede contener elementos de cualquier tipo de datos, y es posible tener:
Tuplas solo con números.
Tuplas solo con cadenas de texto.
Tuplas con una mezcla de tipos de datos (números, strings, booleanos, etc.).
Al igual que con las listas, podemos acceder a los elementos de una tupla utilizando índices. Los índices comienzan en 0, y también es posible acceder a los elementos desde el final usando índices negativos.
print(numeros[0])# Accede al primer elemento: 1print(numeros[-1])# Accede al último elemento: 5
¿Qué operaciones podemos realizar con las tuplas en Python?
Dado que las tuplas son inmutables, las operaciones como append, insert o la modificación de elementos no están permitidas. Si intentamos agregar o actualizar un elemento, Python lanzará un error:
# Intento de agregar un elementonumeros.append(6)# Error: no existe el método append para tuplas
Sin embargo, las tuplas soportan un par de métodos útiles:
index: Nos permite encontrar la posición de un elemento.
count: Nos dice cuántas veces aparece un elemento en la tupla.
¿Cómo transformar una tupla en una lista y viceversa?
A veces, necesitamos modificar los elementos de una tupla. En estos casos, podemos transformarla temporalmente en una lista para realizar los cambios necesarios, y luego volver a convertirla en tupla:
# Convertir tupla en listami_lista =list(strings)mi_lista[1]="Alejandro"# Modificación permitida en lista# Convertir lista de nuevo en tuplami_tupla =tuple(mi_lista)
Estas conversiones son prácticas cuando necesitamos la inmutabilidad de las tuplas, pero con la flexibilidad temporal de las listas.
¿Cuándo es preferible usar una tupla?
Las tuplas son más apropiadas en escenarios donde no se necesita modificar la información, como:
Datos que deben permanecer constantes, por ejemplo, coordenadas geográficas.
Definición de opciones fijas en un juego, como "piedra, papel o tijera", asegurando que no se puedan añadir opciones adicionales sin intención.
En conclusión, las tuplas son una herramienta poderosa para la gestión de información en Python, brindando integridad y simplicidad en datos inmutables. Aprovecha su uso cuando requieras una estructura de datos sólida y confiable que garantice la consistencia en tus aplicaciones. ¡Sigue explorando y perfeccionando tus habilidades en Python con nosotros!
Estructura de datos inmutables que contiene una secuencia ordenada de elementos
Tupla = (1, 2, 3, 4)
Los elementos están separados por espacios luego de las comas
Puede contener cualquier tipo de datos
Cada posición de la tupla tiene un índice
Es inmutable y por lo tanto no puede ser modificada, lo que permite proteger mejor la data si no queremos que se modifique por error
Acceder a un elemento
Tupla = (”A”, “B”, “C”)
Tupla [0] Indice a consultar
“A” Nos retorna el resultado de la posición 0 en la tupla
Encontrar un elemento
Tupla = (”A”, “B”, “C”)
“A” in Tupla
True
“Z” in Tupla
False
Metodos
Buscar el Indice de un elemento
Tupla = (”A”, “B”, “C”)
Tupla.index(”A”)
0 Nos devuelve el indice del elemento que buscamos
Numero de veces que un elemento aparece en la Tupla
Tupla = (”A”, “B”, “C”)
Tupla.count(elemento)
Tupla.count(”B”)
1 Retorna el numero de veces del elemento en la Tupla
Gracias por el aporte!
gracias!.
Para recordar entre listas y tuplas, cuales son inmutables y mutables personalmente uso una analogía:
Como las listas usan " [ ] ", lo veo como una caja donde se puede introducir mas elementos. En cambio como las tuplas emplean" ( ) ", lo veo como una esfera que no acepta introducir mas elementos.
Aparte de esto recuerdo cuales son listas y tuplas con la 'L' de Listas, ya que se parece a un corchete a medias " [ "
Muy bueno para memorizarlas
O buscas en google o stackoverflow o la documentación oficial jaja
Lista = [ ] ,
Tuplas = ( ),
Diccionarios = { }
Directo al grano Nicolas jajajaja me encanta
Resumen muy importaten
TUPLAS: Estructura de datos inmutables, solo para lectura
My_list = list(string) : convertir una tupla en una lista
My_tuplea = tupla(my_list) : convert una lista en una tupla
.index(”A”): Buscar el Indice de un elemento
.count(”B”): Numero de veces que un elemento aparece en la Tupla
Gracias
Cuándo usar tuples sobre las listas de Python
Las tuplas son más eficientes en la memoria que las listas. Cuando se trata de la eficiencia del tiempo, las tuplas tienen una ligera ventaja sobre las listas, especialmente cuando consideramos el valor de búsqueda. Si tiene datos que no deberían cambiar, debe elegir el tipo de datos de Tuple sobre las listas.
Queda por sentado que una lista se genera con los brackets "[ ]" mientras que una tupla se genera con parentesis "( )"?
Si
Es correcto esa seria una de las diferencias Lista = [ ] ,
Tuplas = ( ), Diccionarios = { }
Me pareció muy práctica la clase pero me gustaría saber qué aplicaciones tiene la tupla y la lista.
considero que si por ejemplo si estas generando un sopa de letras y este tienes una base de datos que tome aleatoriamente o tome los valores y que los asigne a un espacio, por poner un ejemplo.
Tengo entendido que las tuplas ocupan mucho menos espacio en memoria a comparación de una lista, lo que logra aumentarla velocidad y eficiencia al ejecutar código.
tuplas son inmutables
platzi_founders = ('Freddy Vega','Christian Van der Henst')
Recordemos que si queremos modificar tuplas podemos transfórmala en una lista y modificarla y luego convertirla en tupla de nuevo.Las tuplas en Python son un tipo o estructura de datos que permite almacenar datos de una manera muy parecida a las listas, con la salvedad de que son inmutables.
numbers =(1,2,3,5)strings =('nico','zule','santi','nico')print(numbers)#Primer elemento
print('0 =>', numbers[0])#Último elemtno
print('-1 =>', numbers[-1])print(type(numbers))print(strings)print(type(strings))'''
Una tupla es inmutable, es decir,no se puede modificar
'''
print(strings.index('zule'))print(strings.count('nico'))my_list =list(strings)print(my_list)print(type(my_list))my_list[1]="juli"print(my_list)my_tuple =tuple(my_list)print(my_tuple)
TuplasEstructura de datos inmutables que contiene una secuencia ordenada de elementos
Tupla=(1,2,3,4)Los elementos están separados por espacios luego de las comas
Puede contener cualquier tipo de datos
Cada posición de la tupla tiene un índice
Es inmutable y por lo tanto no puede ser modificada, lo que permite proteger mejor la data si no queremos que se modifique por error
"""
#NOPUEDOCAMBIARLOSOACTUALIZARLOSCOMOENUNSTRINGOCADENAnumeros=(1,2,3,4,5)strings=("nico","pedro","santi","santi")print(numeros)print(type(numeros))print(numeros[0])print(numeros[-1])#Busquedaprint(strings.index("nico"))#Contarprint(strings.count("santi"))#Podemos transformar una tupla a un string
mi_lista=list(strings)print(mi_lista)mi_lista[0]="andre"print(mi_lista)mi_tupla=tuple(mi_lista)print(mi_tupla)
Por error escribí:
my_list =list('strings')print(my_list)
ingresando strings como una cadena de texto y no haciendo referencia a la tupla creada en la clase.
El output fue:
['s', 't', 'r', 'i', 'n', 'g', 's']
se los comparto, ya que puede ser funcional para algunos casos ;)
Algunas diferencias de las tuplas y listas:
Las tuplas son inmutables, lo que significa que no podemos hacer cambios en ellas.
Usamos paréntesis en lugar de corchetes para representarlas.
Las tuplas son más eficientes en términos de memoria y rendimiento que las listas, lo que las hace ideales para situaciones que requieren una mayor velocidad.
Tuplas en Python
JAJA el buen ChatGPT! :D
Otra sintaxis para generar una tupla, es simplemente sin los parentesis. Por ahora prefiero más la forma con parentesis, pero es bueno saberlo por si vemos esta forma en alguna documentación.
siempre son del tipo tupla sin importar el tipo de dato interno.
¿Es Correcto?
A qué te refieres con el punto 3?
En principio Python maneja 4 tipos de datos que son los booleanos, los numéricos (enteros, punto flotante y complejos) y las cadenas de caracteres. Sin embargo hay mas categorias como lo son este caso las tuplas, son un tipologia de datos de secuencias. Para verlo mejor tengo este ejemplo:
En principio Python maneja 4 tipos de datos que son los booleanos, los numéricos (enteros, punto flotante y complejos) y las cadenas de caracteres. Sin embargo hay más categorías como lo son este caso las tuplas, son un tipología de datos de secuencias. Para verlo mejor tengo este ejemplo:
Hay 3 tuplas, dentro hay 3 tipos de datos diferentes (números o Int, cadenas de texto o strings y los flotantes o floats) cuando le pregunto a Python por la tipología de cada uno, se imprime que son tipo Tuple , esto se debe por que estan dentro un conjunto tuplas respectivamente.
Es así como yo lo entiendo mejor.
Desde la ignorancia: En la clase se mencionó que "transformamos" la tupla en lista, y la lista de regreso a tupla, pero en realidad lo que hicimos fue definir 3 variables con nombres diferentes ¿no?
Hice el ejercicio en mi terminal, y efectivamente el programa sigue teniendo acceso a las 3 variables de manera independiente, no que haya mutado a strings ¿Tiene sentido? ¿Tener más "variables" sería un problema?
Espero les sirvan mis apuntes!
# TUPLES:Estructura de datos inmutables que contiene una secuencia ordenada de elementos, no puedo añadir ni modificar elementos.Visualmente podemos diferenciarlos por que las LIST usan corchetes [] y los TUPLES usan parentesis()numbers =(1,2,3,5)strings =('nico','zule','santi','nico')print(numbers)print('0 =>', numbers[0])# El entrecomillado es para que visualmente veamos la posición, podría simplificarse como "print(numbers[0])", en cualquier caso nos dice que valor ocupa el puesto '0'print('-1 =>', numbers[-1])# Usamos el mismo metodo que el anterior, pero preguntamos por el valor de la última posición
print(type(numbers))print(strings)print(type(strings))# Al ser las TUPLES inmutables, si probaramos a por ejemplo añadir elementos , nos daría error "AttributeError: 'tuple' object has no attribute 'append'".Ejemplo de codigo:# · numbers.append(10)# print(numbers)# Lo mismo pasaría si quiera modificar un valor
# · numbers[1]='change'# print(numbers)print(strings)# ConTUPLES también tenemos distintos métodos, por ejemplo con '.index' podemos preguntar la posición de un valor
print(strings.index('zule'))# Con'.count', preguntamos cuantas veces aparece un valor, por ejemplo 'nico' para este ejemplo, aparece dos veces
print(strings.count('nico'))# IMPORTANTE:Si queremos añadir un valor a un TUPLE, no vamos a poder de forma natural, sin embargo podemos hacer transformaciones entre LIST y TUPLES.Para ello creamos una lista 'my_list' en este caso, y usamos el metodo 'list' delante del nombre del TUPLE que queremos convertir en LIST, si además imprimimos el TYPE de 'my_list'veremos que es -class'list'-my_list =list(strings)print(my_list)print(type(my_list))# Ahora haría modificaciones, por ejemplo cambiando el valor 1 por uno nuevo
my_list[1]='alex'print(my_list)# Y volveriamos a convertir la LIST en TUPLE, usando el metodo 'tuple' delante del LISTmy_tuple =tuple(my_list)print(my_tuple)
Excelente aporte!!
Hola, la clase actual no me gusto mucho asi q para motivarnos un poco, revise cuales son los usos practicos de una tupla.
- Otorga un nivel de integridad de datos a tu programa, es decir para q no sean modificados "accidentalmente".
- Para establecer constantes (e.g. Pi)
- Para recibir multiples valores retornados por una funcion.
- para el desempaquetado de tuplas, es decir, ir asignando valores de elementos de una tupla a otras variables para trabajar con ellas en codigo.