Swift程序:查找字典中键值对的最小值


本教程将讨论如何编写Swift程序来查找字典中键值对的最小值。

字典用于以键值对的形式存储数据,这些数据是无序排列的。这里的键的类型相同,值的类型也相同。每个键都像字典中关联值的标识符一样,每个值都有一个唯一的键。Swift字典就像真正的字典一样。它根据标识符查找值。

语法

以下是创建字典的语法:

Var mydict = [KeyType: ValueType]()
Or
Var mydict : [KeyType:ValueType] = [key1:value1, key2:value2, key3:value3]

要查找最小键值对,我们使用`min()`函数。此函数将返回字典中的最小键值对。这里返回的对象类型为`Optional`。因此,我们将值类型转换为所需的类型。如果给定的字典为空,则它将返回`nil`。

以下是演示:

输入

假设我们的输入是:

MyDict = ["installment1": 2000, “installment2": 3902, "installment3": 7832, "installment4": 8743]

输出

期望输出:

Minimum key-value pair - "installment1": 2000

语法

以下是语法:

Dict.min(by: {operator})!

这里,`operator`是一个闭包,用于接受条件并返回布尔值。

算法

以下是算法:

  • 步骤1 - 创建包含键值对的字典

  • 步骤2 - 使用`min()`函数查找最小键或值,并使用`!`运算符将输出值包装到所需的类型。

For minimum key:
let minimumYear = myinstalments.min(by:{$0.key < $1.key})
For minimum value:
let minimumInstalment = myinstalments.min(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] // Minimum key let minimumYear = myinstalments.min(by:{$0.key < $1.key}) print("Yearly instalments: ", myinstalments) print("Minimum year:", minimumYear!)

输出

Yearly instalments: ["year3": 19000, "year2": 24000, "year1": 23000, "year4": 19902]
Minimum year: (key: "year1", value: 23000)

在上面的代码中,我们有一个包含年度分期的字典。现在我们使用`min()`函数查找最小年份:

let minimumYear = myinstalments.min(by:{$0.key < $1.key})

这里,`$0.key < $1.key`表示第一个键应该小于第二个键。`$0`和`$1`分别代表第一个和第二个参数。

Hence the resultant key value pair is (key: "year1", value: 23000).

查找字典中的最小值

示例

以下程序演示了如何在字典中查找最小值及其对应的键。

import Foundation import Glibc // Creating a dictionary var myinstalments : [String:Int] = ["year1": 23000, "year2": 24000, "year3": 19000, "year4": 19902] // Minimum value let minimumInstalment = myinstalments.min(by:{$0.value < $1.value}) print("Yearly instalments: ", myinstalments) print("Minimum instalment:", minimumInstalment!)

输出

Yearly instalments: ["year1": 23000, "year2": 24000, "year3": 19000, "year4": 19902]
Minimum instalment: (key: "year3", value: 19000)

在上面的代码中,我们有一个包含年度分期的字典。现在我们使用`min()`函数查找最小金额:

let minimumInstalment = myinstalments.min(by:{$0.value < $1.value})

这里,`$0.value < $1.value`表示第一个值应该小于第二个值。`$0`和`$1`分别代表第一个和第二个参数。

Hence the resultant key value pair is (key: "year3", value: 19000)

更新于:2022年10月20日

730 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告