Swift 程序:使用值获取字典中的键


字典是键值对的集合。这意味着键和值彼此相关。因此,使用值,我们可以轻松地从给定的字典中获取单个或多个键。

算法

  • 步骤 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"]

结论

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

更新于: 2023年5月9日

3K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.