CursosEmpresasBlogLiveConfPrecios

Diccionarios

Clase 20 de 33 • Curso de Programación en Swift (2019)

Clase anteriorSiguiente clase

Contenido del curso

Condicionales y operaciones básicas
  • 1
    Todo lo que aprenderás sobre Swift

    Todo lo que aprenderás sobre Swift

    02:01
  • 2
    Operaciones de asignación y aritmeticas

    Operaciones de asignación y aritmeticas

    13:14
  • 3
    Comparaciones

    Comparaciones

    09:19
  • 4
    Operaciones Ternarias

    Operaciones Ternarias

    07:35
  • 5
    Operador Nil Coalescing

    Operador Nil Coalescing

    06:53
  • 6
    Rangos

    Rangos

    10:13
  • 7
    Operadores lógicos

    Operadores lógicos

    11:07
Manipulación de Strings
  • 8
    Strings

    Strings

    12:26
  • 9
    Inicialización y mutabilidad

    Inicialización y mutabilidad

    09:35
  • 10
    Characters

    Characters

    11:28
  • 11
    Índices de Strings

    Índices de Strings

    12:21
  • 12
    Substrings

    Substrings

    05:08
  • 13
    Prefijos y Sufijos

    Prefijos y Sufijos

    06:25
  • 14
    Representaciones Unicode

    Representaciones Unicode

    08:57
Estructuras de datos
  • 15
    Arrays

    Arrays

    08:05
  • 16
    Acceder y modificar elementos de un Array

    Acceder y modificar elementos de un Array

    08:24
  • 17
    Iterando en Arrays

    Iterando en Arrays

    04:17
  • 18
    Conjuntos

    Conjuntos

    11:21
  • 19
    Iteraciones y operaciones sobre conjuntos

    Iteraciones y operaciones sobre conjuntos

    11:01
  • 20
    Diccionarios

    Diccionarios

    12:55
  • 21
    Iteración en diccionarios

    Iteración en diccionarios

    07:12
Sentencias de Control
  • 22
    Ciclo for-in

    Ciclo for-in

    12:29
  • 23
    Ciclo while

    Ciclo while

    09:26
  • 24
    Uso de if

    Uso de if

    09:24
  • 25
    Uso de Switch

    Uso de Switch

    07:42
  • 26
    Switch usando rangos - Interval matching

    Switch usando rangos - Interval matching

    06:24
  • 27
    Switch usando tuplas

    Switch usando tuplas

    09:31
  • 28
    Switch con casos compuestos

    Switch con casos compuestos

    07:51
Sentencias de transferencia de control
  • 29
    Continue y break

    Continue y break

    08:22
  • 30
    Fallthrough

    Fallthrough

    06:02
  • 31
    Uso de return y guard

    Uso de return y guard

    09:34
  • 32
    Available en API: Manejo de versiones

    Available en API: Manejo de versiones

    04:33
Cierre del curso
  • 33
    Cierre del curso y próximos pasos

    Cierre del curso y próximos pasos

    01:33
    José Briceño

    José Briceño

    student•
    hace 5 años

    Diferencias entre tuplas y diccionarios:

    • Las tuplas pueden o no tener una llave.

    • Las tuplas solo pueden contener una cantidad predefinida de valores

    • Las tuplas pueden combinar varios tipos de valores, mientras que los diccionarios tiene un solo tipo homogéneo.

    Tupla:

    let tuple: (key1: String, key2: Float, key3: Int) = (key1: "value 1", key2: 3.1415, key3: 64)

    Diccionario:

    let dictionary: [String: String] = ["key 1": "value 1", "key 2": "value 2"]

    https://stackoverflow.com/questions/27631137/tuple-vs-dictionary-differences```

    https://stackoverflow.com/questions/27631137/tuple-vs-dictionary-differences

      Carlos Vallejo

      Carlos Vallejo

      student•
      hace 5 años

      Gracias!, justo me estaba preguntando esto!

      Usuario anónimo

      Usuario anónimo

      user•
      hace 4 años

      Muchísimas gracias por tu aclaración, ya estaba buscando esta info en Google ahha

    Hernán Chilabert

    Hernán Chilabert

    student•
    hace 5 años

    Resumen

    Los diccionarios se forman utilizando el par de clave/valor (key/value).

    Cómo definir un diccionario vacío:

    var namesOfIntegers = [Int: String]() // Diccionario vacio

    Crear un nuevo par key/value:

    namesOfIntegers[15] = "quince"

    Para vaciar un diccionario utilizamos [:]:

    namesOfIntegers = [:]

    Mas ejemplos:

    var airports: [String: String] = ["YYZ": "Toronto", "DUB": "Dublin", "PMI": "Palma de Mallorca"] airports.count airports.isEmpty

    Existen varias formas de reescribir el valor de una clave existente

    Asignando un nuevo valor a la clave:

    airports["LHR"] = "London City Airport" airports airports["LHR"] = "London Heathrow" airports

    Utilizando el método .updateValue(). Este método devuelve el valor anterior antes de actualizarlo:

    if let oldValue = airports.updateValue("Dublin Airport", forKey: "DUB") { print("El aeropuerto tenia antiguamente el nombre de \(oldValue)") }

    Comprobar si existe una clave en el diccionario

    airports if let airportName = airports["DUB"] { print("El aeropuerto de DUB es: \(airportName)") }

    Como eliminar un elemento del diccionario

    Hay 2 formas:

    • Asignándole el valor nil:
    airports["PMI"] = nil airports
    • Utilizando el método removeValue():
    if let removedAirport = airports.removeValue(forKey: "DUB") { print("Aeropuerto eliminado: \(removedAirport)") }
    David Barreto

    David Barreto

    student•
    hace 5 años
    Screen Shot 2021-03-01 at 2.27.33 AM.png
    Luis Abdel Rangel Castro

    Luis Abdel Rangel Castro

    student•
    hace 5 años
    var myFamily : [String : UInt8] = [:] myFamily["Luis"] = 40 myFamily["Reyna"] = 37 myFamily["Rocio"] = 10 myFamily["Rodrigo"] = 3 myFamily.count
    Wilson Montenegro

    Wilson Montenegro

    student•
    hace 6 años
    // Reto var familyMembers: [String: Int] = ["Carolina": 34, "Aisha": 12, "Thomas": 8, "Martina": 3] familyMembers["Frances"] = 21 familyMembers
    Lisandro Loustaunau

    Lisandro Loustaunau

    student•
    hace 4 años

    Ejercicio:

    var familia: [String: Int] = ["Roberto": 60, "Miriam": 54, "Facundo": 34, "Simon": 32, "Pamela": 30, "Lisandro": 24 ] familia["lolo"] = 0

    Pregunta: ¿Si quisiera agregar elementos nuevos al diccionario, como podria ser? porque intente una forma familia["lolo"] = 3; ["coki"] = 6

    Luis Alberto Moreno Perez

    Luis Alberto Moreno Perez

    student•
    hace 5 años
    var myFamily : [String : Int] = [:] myFamily["Javier"] = 57 myFamily["Silvia"] = 53 myFamily["Alex"] = 27 myFamily["Ivonne"] = 25 myFamily["Beto"] = 23 myFamily myFamily.count
    David Barreto

    David Barreto

    student•
    hace 5 años

    ¿Como imprimo las claves de los diccionarios?

      Daniel Adolfo Ordoñez Rubio

      Daniel Adolfo Ordoñez Rubio

      student•
      hace 5 años

      Hola, David :) Te dejo el ejemplo de la documentación:

      let countryCodes = ["BR": "Brazil", "GH": "Ghana", "JP": "Japan"] print(countryCodes) // Prints "["BR": "Brazil", "JP": "Japan", "GH": "Ghana"]" for k in countryCodes.keys { print(k) } // Prints "BR" // Prints "JP" // Prints "GH"
      David Barreto

      David Barreto

      student•
      hace 5 años

      Hola Daniel, avanzando en la clases el profesor aclaro mis dudas, de todos modos muchas gracias por tomarte el tiempo para responder. Exitos en tu carrera! 👍

    Edgardo Marcano

    Edgardo Marcano

    student•
    hace 2 años

    Jajaja corrijo mi ejercicio, lo había hecho al revés! 🤣

    Edgardo Marcano

    Edgardo Marcano

    student•
    hace 2 años

    Ejercicio resuelto!

    Luis Garay

    Luis Garay

    student•
    hace 2 años
    //Reto var familyMembers:[String:Int] = ["Luis_Garay":50, "Beatriz_Rodriguez":51, "Natalia_Garay":24, "Luis_Garay_2":22 ]
    Jonathan Meixueiro

    Jonathan Meixueiro

    student•
    hace 3 años
    var predestinationFamilyDict : [String: Int] = [ “Baby👶🏽” : 0, “Jane👩🏽” : 20, “Jhon🧑🏽” : 25, “Agent Doe🧔🏽” : 30, “Fizzle Bomber🧔🏽‍♀️” : 50 ]
    Ray Amparo

    Ray Amparo

    student•
    hace 3 años
    let nameEdad : [String: Int] = ["T": 33, "R": 20, "M": 30 ] if let reportEdad = nameEdad["T"]{ print("Esta es la edad de T \(reportEdad)") } if let reportEdad = nameEdad["R"]{ print("Esta es la edad de R \(reportEdad)") } if let reportEdad = nameEdad["M"]{ print("Esta es la edad de M \(reportEdad)") }
    Eddie Guadalupe Elorza Ruiz

    Eddie Guadalupe Elorza Ruiz

    student•
    hace 4 años
    var calificación: [String:Double] = ["Juan":10.0, "Marcos":8.3, "Diana":9.0, "Daniel":3.5, "Roberto":5.7] calificación ["Gerardo"] = 4.8 for (key, value) in calificación{ if value < 6{ print(key) } }```
    Peter Jonathan Montalvo Garcia

    Peter Jonathan Montalvo Garcia

    student•
    hace 4 años
    // Diccionarios: // formas de inicializar diccionarios: var nameOfIntegers = [Int:String]() nameOfIntegers[15] = "quince" //vaciar diccionario: nameOfIntegers = [:] var airports: [String: String] = ["TKY":"Tokyo", "LIM":"Lima", "NYK":"New York"] airports.count airports.isEmpty // sobreescribir en un diccionario: airports["LHR"] = "London City Airport" airports airports["LHR"] = "London Airport" airports // recuperar valor antes de borrarlo y sobrescribir al mismo tiempo: var oldValue = airports.updateValue("Tokyo Airport", forKey: "TKY") airports //ELiminar aeropuertos: airports["LHR"] = nil airports.removeValue(forKey: "LIM")
    Lilia Andrea Ruiz Coronel

    Lilia Andrea Ruiz Coronel

    student•
    hace 4 años

    Ejercicio 👍🏻

    var familyMembers: [String: UInt8] = [ "Maria": 47, "Victor":53, "Daniela":25, "Pepe":6] familyMembers.count familyMembers["Andrea"] = 28 familyMembers
    Juan Pablo Perez

    Juan Pablo Perez

    student•
    hace 5 años
    //reto var familyDictionary: [String: Int] = ["Antonella": 32 ,"Jorge": 49 ,"Celia": 55] familyDictionary.count
    Jose Miguel Serrato Moreno

    Jose Miguel Serrato Moreno

    student•
    hace 6 años
    var familyDictionary = [String: Int] () familyDictionary["José Miguel"] = 29 familyDictionary["Paulina"] = 27 familyDictionary["Nathalie Quetzalli"] = 8 familyDictionary["Ana Paula"] = 0
    José Javier Cueto Mejía

    José Javier Cueto Mejía

    student•
    hace 6 años
    Screen Shot 2020-01-28 at 9.16.49 PM.png
    Juan Sebastián Vargas Castañeda

    Juan Sebastián Vargas Castañeda

    student•
    hace 5 años
    Captura de Pantalla 2020-08-12 a la(s) 7.17.48 p. m..png

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads