4 tipos de colecciones de datos más
Te explico los 4 tipos de colecciones de datos más comunes en programación:
📋 Listas (Arrays)["",""]
Características:
Ordenadas - Mantienen el orden de inserción
Mutables - Se pueden modificar después de crearlas
Permiten duplicados - Pueden tener elementos repetidos
Indexadas - Se accede por posición numérica (0, 1, 2...)
Ejemplo (Python):
frutas = ["manzana", "banana", "cereza"]
frutas.append("naranja") # Agregar elemento
print(frutas[1]) # Output: "banana"🔄 Conjuntos (Sets){}
Características:
No ordenados - No mantienen un orden específico
No permiten duplicados - Elementos únicos
Mutables - Se pueden agregar/eliminar elementos
No indexados - No se puede acceder por posición
Ejemplo (Python):
colores = {"rojo", "verde", "azul"}
colores.add("amarillo")
print("rojo" in colores) # Output: True📖 Diccionarios{:}
Características:
Pares clave-valor - Cada elemento tiene una clave única
No ordenados (en versiones antiguas de Python)
Mutables - Se pueden modificar
Claves únicas - No puede haber claves duplicadas
Ejemplo (Python):
persona = {
"nombre": "Ana",
"edad": 25,
"ciudad": "Madrid"
}
print(persona["nombre"]) # Output: "Ana"📦 Tuplas
Características:()
Ordenadas - Mantienen el orden de inserción
Inmutables - No se pueden modificar después de crearlas
Permiten duplicados - Pueden tener elementos repetidos
Indexadas - Se accede por posición
Ejemplo (Python):
coordenadas = (40.7128, -74.0060)
# coordenadas[0] = 50.0 # Esto daría error (inmutable)
print(coordenadas[1]) # Output: -74.0060📊 Comparación rápida:
| Tipo | Ordenado | Mutable | Duplicados | Uso típico |
|---|---|---|---|---|
| Lista [] | ✅ Sí | ✅ Sí | ✅ Sí | Colecciones ordenadas |
| Conjunto{} | ❌ No | ✅ Sí | ❌ No | Elementos únicos |
| Diccionario{:} | ❌ No* | ✅ Sí | ❌ Claves únicas | Datos estructurados |
| Tupla() | ✅ Sí | ❌ No | ✅ Sí | Datos inmutables |
*Los diccionarios en Python 3.7+ mantienen el orden de inserción
¿Te gustaría que profundice en alguno en particular?
Resumen de Colecciones en Python
1. Listas (Arrays)[]
# Crear lista frutas = ["manzana", "banana", "cereza"] # Agregar elementos frutas.append("naranja") # ["manzana", "banana", "cereza", "naranja"] frutas.insert(1, "uva") # ["manzana", "uva", "banana", "cereza", "naranja"] # Eliminar elementos frutas.remove("banana") # Elimina "banana" elemento = frutas.pop(2) # Elimina y retorna elemento en posición 2 del frutas[0] # Elimina elemento en posición 0 # Modificar elementos frutas[0] = "pera" # Cambia primer elemento a "pera" # Acceder elementos print(frutas[1]) # Accede al segundo elemento print(frutas[-1]) # Accede al último elemento # Otras operaciones print(len(frutas)) # Longitud: 3 print(frutas.count("manzana")) # Cuenta apariciones: 1 print(frutas.index("cereza")) # Posición: 2 frutas.sort() # Ordena alfabéticamente frutas.reverse() # Invierte orden sublista = frutas[1:3] # Sublista desde posición 1 hasta 2
2. Conjuntos (Sets){}
# Crear conjunto colores = {"rojo", "verde", "azul"} # Agregar elementos colores.add("amarillo") # {"rojo", "verde", "azul", "amarillo"} colores.update(["negro", "blanco"]) # Agrega múltiples elementos # Eliminar elementos colores.remove("verde") # Elimina "verde" (error si no existe) colores.discard("rosa") # Elimina "rosa" (no da error si no existe) elemento = colores.pop() # Elimina y retorna un elemento aleatorio # Los sets NO permiten modificación directa de elementos # Los sets NO permiten acceso por índice (son desordenados) # Otras operaciones print(len(colores)) # Longitud: 4 print("rojo" in colores) # Verifica existencia: True
3. Diccionarios{:}
# Crear diccionario persona = {"nombre": "Ana", "edad": 25, "ciudad": "Madrid"} # Agregar elementos persona["profesion"] = "ingeniera" # Agrega nueva clave-valor persona.update({"salario": 30000}) # Agrega múltiples elementos # Eliminar elementos del persona["edad"] # Elimina clave "edad" valor = persona.pop("ciudad") # Elimina y retorna valor de "ciudad" persona.clear() # Elimina todos los elementos # Modificar elementos persona["nombre"] = "Carlos" # Modifica valor de "nombre" # Acceder elementos print(persona["nombre"]) # Accede por clave: "Carlos" print(persona.get("edad", "N/A")) # Accede con valor por defecto: "N/A" # Otras operaciones print(len(persona)) # Longitud: 2 print(persona.keys()) # Todas las claves print(persona.values()) # Todos los valores print(persona.items()) # Todos los pares clave-valor
4. Tuplas()
# Crear tupla (inmutable) coordenadas = (10, 20, 30) # Las tuplas NO permiten agregar, eliminar o modificar elementos después de creadas # Acceder elementos print(coordenadas[0]) # Accede al primer elemento: 10 print(coordenadas[1:3]) # Slicing: (20, 30) # Otras operaciones print(len(coordenadas)) # Longitud: 3 print(coordenadas.count(20)) # Cuenta apariciones: 1 print(coordenadas.index(30)) # Posición: 2
Operaciones Comunes con Ejemplos
# Slicing numeros = [1, 2, 3, 4, 5, 6] print(numeros[1:4]) # [2, 3, 4] print(numeros[:3]) # [1, 2, 3] print(numeros[3:]) # [4, 5, 6] print(numeros[::2]) # [1, 3, 5] (cada 2 elementos) # Ordenamiento lista = [3, 1, 4, 1, 5, 9, 2] lista.sort() # [1, 1, 2, 3, 4, 5, 9] lista.sort(reverse=True) # [9, 5, 4, 3, 2, 1, 1] # Búsqueda if "manzana" in frutas: print("Manzana encontrada en posición:", frutas.index("manzana"))
Este resumen cubre las operaciones básicas de las cuatro colecciones principales en Python con ejemplos concisos y prácticos.
Comentarios
Publicar un comentario