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"]

结论

以上就是我们如何使用值从字典中获取键的方法。这两种方法的工作原理几乎相同,第一种方法适用于唯一的键值对,另一种方法适用于具有重复值的唯一键。因为我们知道,字典中的键是唯一的,但值可以重复。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部