Swift 遍历一个字典

Swift 遍历一个字典

我们可以使用 swift 中的各种方法来迭代一个 dictionary。你也可以对一个字典的键和值进行迭代。

我们将使用不同的方法来迭代一个字典,如下所示

  • 使用for-in循环

  • 遍历字典中的所有键

  • 遍历 dictionary 中的所有值

  • 使用 enumerated() 方法遍历所有的元素

使用for-in 循环

大多数情况下,我们使用 for-in 循环来遍历一个 dictionary。使用for-in 循环,你可以遍历一个 dictionary 中的所有元素,如下图所示

语法

for (key, value) in dictionary {

}

语法中,其中key和value是分别存放当前key和value的变量的名称。

例子

import Foundation
let colorsDictionary = [
   "aliceblue": "#f0f8ff",
   "antiquewhite": "#faebd7",
   "aqua": "#00ffff",
   "aquamarine": "#7fffd4",
   "azure": "#f0ffff",
   "beige": "#f5f5dc",
   "bisque": "#ffe4c4",
   "black": "#000000",
   "blanchedalmond": "#ffebcd",
   "blue": "#0000ff",
   "blueviolet": "#8a2be2",
   "brown": "#a52a2a"
]
for (colorName, colorValue) in colorsDictionary {
   print("Name: \(colorName) and its hex code: \(colorValue)")
}

输出

Name: brown and its hex code: #a52a2a
Name: bisque and its hex code: #ffe4c4
Name: blueviolet and its hex code: #8a2be2
Name: aqua and its hex code: #00ffff
Name: aliceblue and its hex code: #f0f8ff
Name: aquamarine and its hex code: #7fffd4
Name: azure and its hex code: #f0ffff
Name: beige and its hex code: #f5f5dc
Name: blanchedalmond and its hex code: #ffebcd
Name: blue and its hex code: #0000ff
Name: antiquewhite and its hex code: #faebd7
Name: black and its hex code: #000000

在上面的例子中,我们创建了一个字典来定义一些带有名称和十六进制值的颜色。使用for-in循环,以一个未指定的顺序逐一迭代所有的元素。它以对(key, value)的格式给出元素。

遍历所有的键

如果你想一次性访问或迭代所有的键,你可以使用 “keys “属性来实现。这个属性返回一个字符串类型的数组,给你一个 dictionary 的所有键。

例子

import Foundation
let colorsDictionary = ["aliceblue": "#f0f8ff",
   "antiquewhite": "#faebd7",
   "aqua": "#00ffff",
   "aquamarine": "#7fffd4",
   "azure": "#f0ffff",
   "beige": "#f5f5dc",
   "bisque": "#ffe4c4",
   "black": "#000000",
   "blanchedalmond": "#ffebcd",
   "blue": "#0000ff",
   "blueviolet": "#8a2be2",
   "brown": "#a52a2a"
]
for key in colorsDictionary.keys {
    print("Key: \(key)")
}

输出

Key: brown
Key: antiquewhite
Key: bisque
Key: beige
Key: black
Key: aqua
Key: azure
Key: aliceblue
Key: blue
Key: blueviolet
Key: aquamarine
Key: blanchedalmond

在上面的例子中,我们创建了一个字典来定义一些带有名称和十六进制值的颜色。使用for-in循环,迭代字典的所有键。

遍历所有的值

如果你想一次访问或迭代所有的值,你可以用 “values “属性来做。这个属性返回一个字符串类型的数组,给你一个 dictionary 的所有值。

例子

import Foundation
let colorsDictionary = ["aliceblue": "#f0f8ff",
   "antiquewhite": "#faebd7",
   "aqua": "#00ffff",
   "aquamarine": "#7fffd4",
   "azure": "#f0ffff",
   "beige": "#f5f5dc",
   "bisque": "#ffe4c4",
   "black": "#000000",
   "blanchedalmond": "#ffebcd",
   "blue": "#0000ff",
   "blueviolet": "#8a2be2",
   "brown": "#a52a2a"
]
for value in colorsDictionary.values {
    print("Value: \(value)")
}

输出

Value: #00ffff
Value: #f0f8ff
Value: #f5f5dc
Value: #000000
Value: #f0ffff
Value: #ffebcd
Value: #7fffd4
Value: #ffe4c4
Value: #0000ff
Value: #faebd7
Value: #a52a2a
Value: #8a2be2

结论

我们可以在 Swift 中遍历一个 dictionary 的元素、键和值。字典提供了 “key “属性来访问所有键的数组。同样,一个叫做 “values “的属性给你一个所有值的数组。

你可以用for-in循环和其他方法来迭代一个字典。但是请记住,元素的顺序是没有指定的。但是仍然使用 enumerated() 函数,你可以在访问元素的时候跟踪其索引。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 示例