【问题标题】:How to sort a dictionary in ascending order of values? [duplicate]如何按值的升序对字典进行排序? [复制]
【发布时间】:2019-09-03 04:43:40
【问题描述】:

如何按值的升序对字典进行排序?

我有这样的事情:

["user1": 3764, "user5": 23, "user87": 875, "user21": 54987, ... ]

我想得到一本按其值升序排列的字典,如下所示:

["user5": 23, "user87": 875, "user1": 3764, "user21": 54987, ...] 

【问题讨论】:

  • 这里已经讨论过无数次了,字典没有顺序。
  • 字典保证没有顺序(在内存中),但在某些应用程序中有序字典很有用。根据您的最终目标,您可以查看OrderedDict 或在dict 周围写一个class,以您想要的方式为您提供有序的输出。

标签: swift dictionary


【解决方案1】:

试试这个。

let userRankDict = ["user1": 3764, "user5": 23, "user87": 875, "user21": 54987]
let sortedUserRankDict = userRankDict.sorted{ $0.value < $1.value }
print(sortedUserRankDict)

排序后的 userRankDict:

[(key: "user5", value: 23), (key: "user87", value: 875), (key: "user1", value: 3764), (key: "user21", value: 54987 )]

【讨论】:

    猜你喜欢
    • 2020-08-03
    • 2012-08-09
    • 2020-12-10
    • 2012-08-11
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    相关资源
    最近更新 更多