Subíndices predeterminados de diccionarios
Lea valores de diccionarios con valores predeterminados integrados.
Subíndices predeterminados de diccionarios es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.
Las búsquedas en diccionarios son opcionales
Buscar una clave con dict[key] devuelve un opcional, porque puede que la clave no exista. Ese opcional debe gestionarse.
let ages = ["Ann": 30]
let bob = ages["Bob"]
print(bob as Any)El subíndice con valor predeterminado
Swift ofrece un subíndice con valor predeterminado: dict[key, default: value]. Si falta la clave, obtiene el valor predeterminado en lugar de nil.
let ages = ["Ann": 30]
print(ages["Bob", default: 0])
print(ages["Ann", default: 0])El resultado no es opcional
A diferencia de una búsqueda normal, el subíndice con valor predeterminado devuelve un valor no opcional, por lo que puede usarlo de inmediato sin desempaquetarlo.
let stock = ["pen": 5]
let pens: Int = stock["pen", default: 0]
print(pens + 1)Conteo con valores predeterminados
El subíndice con valor predeterminado resulta especialmente útil para contar apariciones. Comience cada clave en 0 y vaya incrementándola.
var counts: [String: Int] = [:]
let words = ["a", "b", "a", "a", "b"]
for word in words {
counts[word, default: 0] += 1
}
print(counts["a", default: 0])
print(counts["b", default: 0])Por qué funciona +=
Como dict[key, default: 0] produce un valor real incluso para una clave nueva, puede modificarlo directamente con += de forma segura.
var tally: [String: Int] = [:]
tally["x", default: 0] += 5
tally["x", default: 0] += 3
print(tally["x", default: 0])Suma por grupos
Puede acumular sumas por categoría en una sola pasada mediante el subíndice con valor predeterminado.
let sales = [("apple", 3), ("pear", 2), ("apple", 4)]
var totals: [String: Int] = [:]
for (item, amount) in sales {
totals[item, default: 0] += amount
}
print(totals["apple", default: 0])Valor predeterminado frente a coalescencia de nil
dict[key, default: 0] equivale a dict[key] ?? 0 al leer, pero la forma con subíndice también permite modificar el valor directamente.
let prices = ["tea": 3]
print(prices["tea"] ?? 0)
print(prices["tea", default: 0])Adición a valores de tipo array
El subíndice con valor predeterminado también funciona con valores de tipo array, lo que permite crear listas agrupadas.
var groups: [String: [Int]] = [:]
groups["even", default: []].append(2)
groups["even", default: []].append(4)
print(groups["even", default: []])Los valores predeterminados no insertan claves
Leer con un valor predeterminado no añade la clave al diccionario. La clave solo se almacena cuando se modifica, por ejemplo, con +=.
var data: [String: Int] = [:]
_ = data["ghost", default: 0]
print(data.count)
data["real", default: 0] += 1
print(data.count)Elección de un valor predeterminado adecuado
Elija un valor predeterminado que coincida con el tipo del valor y con la operación: 0 para sumas, [] para listas y una cadena vacía para texto.
var notes: [String: String] = [:]
notes["greeting", default: ""] += "Hello"
notes["greeting", default: ""] += " World"
print(notes["greeting", default: ""])Combinación de conteos y lecturas
Construya un mapa de frecuencias y después léalo usando el mismo valor predeterminado para mantener valores no opcionales en todo momento.
var freq: [Character: Int] = [:]
for ch in "banana" {
freq[ch, default: 0] += 1
}
print(freq["a", default: 0])
print(freq["z", default: 0])Comprobación rápida
Pruebe el subíndice con valor predeterminado.
Resumen: subíndices predeterminados de diccionarios
Use dict[key, default: value] para leer un valor alternativo no opcional y para modificar valores directamente. Es ideal para contar, sumar y agrupar sin comprobaciones manuales de nil.
var c: [String: Int] = [:]
for x in ["a", "a", "b"] { c[x, default: 0] += 1 }
print(c["a", default: 0])Aprende Swift con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 122
- Lecciones
- 409
Preguntas frecuentes
¿La lección «Subíndices predeterminados de diccionarios» es gratis?
Sí — el texto completo de «Subíndices predeterminados de diccionarios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Subíndices predeterminados de diccionarios»?
Lea valores de diccionarios con valores predeterminados integrados. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Swift Academy?
No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Subíndices predeterminados de diccionarios»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Swift Academy?
Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El operador de coalescencia de nil
- Encadenamiento de valores predeterminados
- Valores predeterminados en parámetros de funciones
- Subíndices predeterminados de diccionarios