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+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告