English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderás qué es un diccionario, cómo crear un diccionario y algunas operaciones comunes en el diccionario.
En el artículo anteriorSwift ArrayEn el artículo, aprendimos cómo declarar variables/Constantes que almacenan múltiples valores. En este artículo, discutiremos cómo almacenar datos/Los valores se almacenan como pares clave-valor.
Un diccionario es solo un contenedor que puede almacenar múltiples datos como pares clave-valor de manera desordenada.
Cada valor está asociado con una clave única y los datos se almacenan en una lista desordenada comoColecciónEs decir, la secuencia en la que obtienes los elementos es diferente de la secuencia en la que definiste los elementos en el diccionario.
Cuando necesite buscar un valor con un identificador específico en una colección, puede usar un diccionario en lugar de un array. Supongamos que deseas buscar la capital de este país. En este caso, crearás un diccionario con pares clave-valor de país y ciudad capital. Ahora, puedes obtener el valor: ciudad capital buscando la clave: país en la colección.
En términos simples, asigna pares clave-valor. En el ejemplo anterior, asociamos un país con su capital.
Puede crear un diccionario vacío especificando key: value y tipo de datos en los corchetes [].
let emptyDic:[Int:String] = [:] print(emptyDic)
La salida del programa al ejecutarse es:
[:]o
También puede definir un diccionario vacío de la siguiente manera:
let emptyDic:Dictionary<Int, String> = [:] print(emptyDic)
En el programa anterior, declaramos una constante dictionary tipo emptyDic con clave de tipo Int y valor de tipo String, y la inicializamos con un valor de 0.
o
Dado que Swift es un lenguaje de inferencia de tipos, también puede crear un diccionario sin especificar el tipo de datos, pero debe usar algunos valores para inicializarlo, de modo que el compilador pueda inferirlo:
let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] print(someDic)
La salida del programa al ejecutarse es:
["b": 2, "a": 1, "i": 9, "c": 3, "e": 5, "f": 6, "g": 7, "d": 4, "h": 8]
En el programa anterior, declaramos un diccionario, pero no definimos explícitamente el tipo, sino que inicializamos con algunos elementos por defecto.
Los elementos están ubicados en pares clave:valor, donde el tipo de clave es String y el tipo de valor es Int. Como el diccionario no es una lista ordenada, print(someDic) muestra los valores en un orden diferente al definido.
También podemos usar un array para crear un diccionario.
let customKeys = ["Facebook", "Google", "Amazon"] let customValues = ["Mark", "Larry", "Jeff"] let newDictionary = Dictionary(uniqueKeysWithValues: zip(customKeys,customValues)) print(newDictionary)
La salida del programa al ejecutarse es:
["Amazon": "Jeff", "Google": "Larry", "Facebook": "Mark"]
En el programa anterior, zip(customKeys,customValues) crea una nueva secuencia de tuplas, donde cada elemento representa valores de customKeys y customValues.
Ahora, podemos pasar esta secuencia a Dictionary(Unique eKeysWithValues: ) para establecer el valor inicial y crear un nuevo Dictionary. Por lo tanto, print(NewDictionary) muestra un nuevo Dictionary que contiene elementos de dos arrays.
Como array, se puede acceder a los elementos del diccionario usando la sintaxis de índice. Debe incluir el nombre del diccionario seguido de corchetes cuadrados y la clave del valor que desea acceder.
let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] print(someDic["a"]) print(someDic["h"])
La salida del programa al ejecutarse es:
Optional(1) Optional(8)
也可以使用for-in循环访问字典的元素。
let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] for (key,value) in someDic { print("key:\(key) value:\(value)") }
La salida del programa al ejecutarse es:
key:b value:2 key:a value:1 key:i value:9 key:c value:3 key:e value:5 key:f value:6 key:g value:7
Se puede agregar a un diccionario usando la sintaxis de índice. Debe incluir La nueva clave Como índice de subíndice, y asigna un nuevo valor al tipo Dictionary.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Japan"] = "Tokyo" print(someDictionary)
La salida del programa al ejecutarse es:
["Japan": "Tokyo", "China": "Beijing", "India": "NewDelhi", "Nepal": "Kathmandu"]
En el ejemplo anterior, creamos un nuevo par clave-valor "Japan": "Tokyo" usando la sintaxis de índice en el diccionario proporcionado.
También puede usar la sintaxis de índice para cambiar el valor asociado con una clave específica:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Nepal"] = "KATHMANDU" print(someDictionary)
La salida del programa al ejecutarse es:
["China": "Beijing", "India": "NewDelhi", "Nepal": "KATHMANDU"]
Este atributo determina si el diccionario está vacío. Si el diccionario no contiene ningún valor, devuelve true, de lo contrario devuelve false.
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.isEmpty)
La salida del programa al ejecutarse es:
false
Esta propiedad se utiliza para acceder al primer elemento del diccionario.
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.first)
La salida del programa al ejecutarse es:
Optional((key: "China", value: "Beijing"))
Esta propiedad devuelve el número total de elementos del diccionario (pares de clave-valor).
let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.count)
La salida del programa al ejecutarse es:
3
Esta propiedad devuelve todas las claves del diccionario.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let dictKeys = Array(someDictionary.keys) print(dictKeys)
La salida del programa al ejecutarse es:
["China", "India", "Nepal"]
Del mismo modo, también puede usar values La propiedad para obtener todos los valores del diccionario.
Esta función se utiliza para eliminar y devolver el valor especificado por la clave del diccionario. Estos pares de clave-valor se eliminarán del diccionario.
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary.removeValue(forKey: "Nepal") print(val) print(someDictionary)
La salida del programa al ejecutarse es:
Optional("Kathmandu") ["India": "NewDelhi", "China": "Beijing"]
Del mismo modo, también puede usar removeAll La función vacía el diccionario.
1.Al acceder a los elementos del diccionario usando la sintaxis de subíndice en Swift, debe asegurarse de que la clave esté en el índice, de lo contrario, obtendránilEl valor. Veamos un ejemplo:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["Japan"] print(val)
La salida del programa al ejecutarse es:
nil
En el programa anterior, no existe la clave Japan . Por lo tanto, cuando intenta acceder a la clave "Japan " cuando intenta acceder a la clave, obtendrá un valor nil.
2.Del mismo modo, las claves de valor en Swift distinguen entre mayúsculas y minúsculas, por lo que debe asegurarse de usar la clave mayúscula correcta/El valor. De lo contrario, obtendrá un valor nil. Veamos un ejemplo:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal"] print(val)
La salida del programa al ejecutarse es:
nil
En el programa anterior, no existe la clave "nepal". Por lo tanto, cuando intenta acceder a la clave "nepal", obtendrá un valor nil.
3.Si el valor de la clave dada no existe, también hay otro método para proporcionar un valor predeterminado. Veamos un ejemplo en el que lo veamos:
var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal", default:"Not Found"] print(val)
La salida del programa al ejecutarse es:
No encontrado
En el programa mencionado anteriormente, especificamos un valor predeterminado en el parámetro predeterminado al acceder al diccionario. Si el valor de la clave no existe, se devuelve el valor predeterminado, de lo contrario, se devuelve ese valor
En nuestro ejemplo, la clave"nepal"No existe, por lo que el programa devuelve el valor predeterminado: No encontrado.