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)

更新於:2022年10月20日

2K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告