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.