我有一本字典,[String : Double]其中包含以下数据:
[String : Double]
Museum1 : 8785.8971799638 Museum2 : 34420.9643422388 Museum3 : 826.467789130732 Museum4 : 304120.342151219
我想按double值对字典排序。我做了一些研究,但所有示例均不支持当前版本的Swift
我试过在Swift中按值使用SortDictionary中的这段代码:
for (k,v) in Array(self.museumsDic).sorted({$0.0 < $1.0}) { println("\(k):\(v)") }
但这是行不通的。如何按字典值对字典排序?
目前尚不清楚您的期望是什么。确实没有排序字典这样的东西。您的代码基本上是正确的,但括号位置错误。我尝试了这个:
let d = ["Museum1":8785.8971799638, "Museum2":34420.9643422388, "Museum3":826.467789130732, "Museum4":304120.342151219] for (k,v) in (Array(d).sorted {$0.1 < $1.1}) { println("\(k):\(v)") }
结果:
Museum3:826.467789130732 Museum1:8785.8971799638 Museum2:34420.9643422388 Museum4:304120.342151219
如果您认为这是错误的,则需要解释原因。