【问题标题】:How to sort a map in scala where the key is List[Double] and the value is double. And I wanna sort with double?如何在 scala 中对键为 List[Double] 且值为 double 的地图进行排序。我想用双重排序?
【发布时间】:2020-03-08 20:48:59
【问题描述】:
var mapping: Map[List[Double], Double] = 
  Map(List(7.259784480169157E15, 1.3217906182041678E16) -> 5.935002195633169E15
     ,List(7.651141979888688E15, 1.727193653474565E15) -> 2.592248264511382E15)

我试图在那里使用这种语法:ListMap(mapping.toSeq.sortBy(_.2):*)

但这实际上不起作用..

【问题讨论】:

  • 似乎缺少几个_s。试试ListMap(mapping.toSeq.sortBy(_._2): _*)
  • 旁注:如果它总是有两个条目,您可能希望两个使用元组/对而不是列表。

标签: scala list sorting dictionary


【解决方案1】:
mapping.toList.sortBy(_._2).toMap
Res: scala.collection.immutable.Map[List[Double],Double] = Map(List(7.651141979888688E15, 1.727193653474565E15) -> 2.592248264511382E15, List(7.259784480169157E15, 1.3217906182041678E16) -> 5.935002195633169E15)

上面的函数按值对 Map 进行排序。因此 _._2(值),同样的键将由 _._1 表示

【讨论】:

  • 非常不鼓励仅发代码的帖子。请解释一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-05
  • 2010-11-16
  • 2017-03-16
  • 2017-08-19
  • 2021-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多