Swift 程序使用值从字典中获取键
swiftserver side programmingprogramming更新于 2025/9/21 6:52:17
字典是键值对的集合。这意味着键和值是相互关联的。因此,使用值,我们可以轻松地从给定的字典中获取单个或多个键。
算法
步骤 1 - 创建一个包含键值对的字典。
步骤 2 - 然后创建一个函数,该函数将使用值从字典中返回键。
步骤 3 - 在函数内部,我们运行一个 for-in 循环,迭代给定字典的键值对。
步骤 4 - 现在检查当前值是否等于指定值。如果是,则返回相关的键。否则,返回 0 或 nil。
步骤 5 - 如果一个值有多个键,则将它们存储在一个数组中,然后返回该数组。
步骤 6 - 创建一个变量来存储该值。
步骤 7 - 调用函数,并将值和字典作为参数传递进去。
步骤 8 - 显示输出。
示例 1
在下面的 Swift 程序中,我们将使用值从字典中获取一个键。为此,我们将创建一个字典,然后创建一个函数,该函数将根据指定的值从给定的字典中返回一个键。
import Foundation
import Glibc
let myLang = [2001:"C#", 2002:"Swift", 2003:"C++", 2004: "Java", 2005: "Python"]
func findKey(mvalue: String, dict: [Int:String])-> Int {
for (key, value) in dict {
if value == mvalue {
return key
}
}
return 0
}
let val = "Java"
let resultantKey = findKey(mvalue: val, dict: myLang)
if (resultantKey == 0) {
print("Key not found. Please try Again")
} else {
print("The key for the value:\(val) is \(resultantKey)")
}
输出
The key for the value:Java is 2004
示例 2
在下面的 Swift 程序中,我们将使用值从字典中获取键。为此,我们将创建一个字典,然后创建一个函数,该函数将返回所有具有指定值的键。因为我们知道,字典只能包含唯一的键,但可以包含重复的值。因此,一个值可以有多个键。
import Foundation
import Glibc
let myLang = ["C#": 10, "Swift": 30, "C++": 30, "Java": 32, "Python": 30, "C": 10]
func findKey(mvalue: Int, dict: [String:Int])-> [String] {
var resKeys:[String] = []
for (key, value) in dict {
if value == mvalue {
resKeys.append(key)
}
}
return resKeys
}
let val = 30
let resultantKey = findKey(mvalue: val, dict: myLang)
if resultantKey.isEmpty {
print("Key not found. Please try Again")
} else {
print("The keys for the value:\(val) are \(resultantKey)")
}
输出
The keys for the value:30 are ["C++", "Swift", "Python"]
结论
以上就是我们如何使用值从字典中获取键的方法。这两种方法的工作原理几乎相同,第一种方法适用于唯一的键值对,另一种方法适用于具有重复值的唯一键。因为我们知道,字典中的键是唯一的,但值可以重复。