Swift程式:查詢字典中鍵值對的最大值
本教程將討論如何編寫Swift程式來查詢字典中鍵值對的最大值。
字典用於以鍵值對的形式儲存資料,無需定義順序。這裡的鍵型別相同,值型別也相同。每個鍵都像字典中關聯值的識別符號一樣,每個值都有一個唯一的鍵。Swift字典就像真實的字典一樣,它根據識別符號查詢值。
語法
以下是建立字典的語法:
Var mydict = [KeyType: ValueType]() Or Var mydict : [KeyType:ValueType] = [key1:value1, key2:value2, key3:value3]
要查詢鍵值對的最大值,我們使用`max()`函式。此函式將返回字典中鍵值對的最大值。如果給定的字典為空,則它將返回`nil`。
以下是演示:
輸入
假設我們的輸入是:
MyDict = ["installment1": 2000, “installment2": 3902, "installment3": 7832, "installment4": 8743]
輸出
期望輸出為:
Maximum key-value pair: "installment4": 8743
語法
以下是語法:
Dict.max(by:{operator})!
這裡,`operator`是一個閉包,用於接受條件並返回布林值。
演算法
以下是演算法:
步驟1 - 建立一個包含鍵值對的字典
步驟2 - 使用`max()`函式查詢最大鍵或值,並使用`!`運算子將輸出值包裝到所需的資料型別中。
For maximum key: let maximumYear = myinstalments.max(by:{$0.key < $1.key}) For maximum value: let maximumInstalment = myinstalments.max(by:{$0.value < $1.value})
步驟3 - 列印輸出
查詢字典中的最大鍵
示例
下面的程式演示瞭如何在字典中查詢最大鍵及其對應的值。
import Foundation import Glibc // Creating a dictionary var myinstalments : [String:Int] = ["year1": 23000, "year2": 24000, "year3": 19000, "year4": 19902] // Maximum key let maximumYear = myinstalments.max(by:{$0.key < $1.key}) print("Yearly instalments: ", myinstalments) print("Maximum year:", maximumYear!)
輸出
Yearly instalments: ["year3": 19000, "year2": 24000, "year1": 23000, "year4": 19902] Maximum year: (key: "year4", value: 19902)
在上面的程式碼中,我們有一個包含年度分期付款的字典。現在我們使用`max()`函式查詢最大年份:
let maximumYear = myinstalments.max(by:{$0.key < $1.key})
`$0.key < $1.key`表示第一個鍵應該小於第二個鍵。`$0`和`$1`分別代表第一個和第二個引數。
因此,最終的鍵值對是(鍵:“year4”,值:19902)
查詢字典中的最大值
示例
下面的程式演示瞭如何在字典中查詢最大值及其對應的鍵。
import Foundation import Glibc // Creating a dictionary var myinstalments : [String:Int] = ["year1": 23000, "year2": 24000, "year3": 19000, "year4": 19902] // Maximum value let maximumInstalment = myinstalments.max(by:{$0.value < $1.value}) print("Yearly instalments: ", myinstalments) print("Maximum Instalment:", maximumInstalment!)
輸出
Yearly instalments: ["year1": 23000, "year3": 19000, "year4": 19902, "year2": 24000] Maximum Instalment: (key: "year2", value: 24000)
在上面的程式碼中,我們有一個包含年度分期付款的字典。現在我們使用`max()`函式查詢最大金額:
let maximumInstalment = myinstalments.max(by:{$0.value < $1.value})
`$0.value < $1.value`表示第一個值應該小於第二個值。`$0`和`$1`分別代表第一個和第二個引數。
因此,最終的鍵值對是(鍵:“year2”,值:24000)
廣告