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)
广告