Swift 程序:按值对字典排序


Swift 支持一个 `sorted()` 方法来对给定字典中的所有元素进行排序。此方法根据字典的键值对的值对键值对进行排序。

语法

func sorted(by:)

这里,`by` 参数的值为:

  • 大于(>) - 将元素按降序排序。

  • 小于(<) - 将元素按升序排序。

  • 闭包 - 根据给定的闭包对元素进行排序。

算法

  • 步骤 1 - 创建一个带有键值对的字典。

  • 步骤 2 - 显示原始字典。

  • 步骤 3 - 现在使用 `sorted()` 函数根据其值对键值对进行排序。

  • 步骤 4 - 显示最终输出。

示例

在下面的 Swift 程序中,我们将按值对字典进行排序。因此,我们将创建一个字典。然后将此闭包(`{ $0.value < $1.value }`)传递给 `sorted(by:)` 函数,以根据值对字典的元素进行排序并显示最终结果。这里 `$0` 和 `$1` 分别表示传递给闭包的第一个和第二个参数。

import Foundation
import Glibc

let myDict = ["name": "Sona", "company": "MOKA.PVT", "city": "New Delhi"]

print("Original dictionary:", myDict)

let Sdict = myDict.sorted(by: { $0.value < $1.value })

print("Sorted dictionary:", Sdict)

输出

Original dictionary: ["name": "Sona", "company": "MOKA.PVT", "city": "New Delhi"]
Sorted dictionary: [(key: "company", value: "MOKA.PVT"), (key: "city", value: "New Delhi"), (key: "name", value: "Sona")]

结论

这就是我们如何按值对字典进行排序。`sorted()` 方法返回准确的结果。此外,它不会修改原始字典,而是创建一个包含结果的新字典。`sorted(by:)` 方法的复杂度为 O(n log n),其中 n 是字典的长度。

更新于: 2023年5月9日

663 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告