下面的列表中我的斯卡拉列表如何斯卡拉列表转换为列表
List((1409497202065,0.533), (1411804719,0.533), (1411804735,0.533), (1411811091,0.0))
现在我应该怎么转换上面所列内容得到下面的输出
List(List(1409497202065,0.533),List(1411804719,0.533), List(1411804735,0.533), List(1411811091,0.0))
下面的列表中我的斯卡拉列表如何斯卡拉列表转换为列表
List((1409497202065,0.533), (1411804719,0.533), (1411804735,0.533), (1411811091,0.0))
现在我应该怎么转换上面所列内容得到下面的输出
List(List(1409497202065,0.533),List(1411804719,0.533), List(1411804735,0.533), List(1411811091,0.0))
试试这个:
myList.map(_.productIterator.toList)
scala> val myList = List((14,0.533), (14118,0.533), (1735,0.533), (1411,0.0))
myList: List[(Int, Double)] = List((14,0.533), (14118,0.533), (1735,0.533), (1411,0.0))
scala> myList.map(_.productIterator.toList)
res22: List[List[Any]] = List(List(14, 0.533), List(14118, 0.533), List(1735, 0.533), List(1411, 0.0))
productIterator.toList
将元组转换为List
,但将类型更改为Any
,所以如果你想这是序列化JSON中,你必须:
myList.map(_.productIterator.map(_.toString).toList)
您可以从Shapeless库希望异类列表如果你的元组类型不符合
如果你只是想在里面List
单String
:
myList.map(_.productIterator.mkString(","))
鉴于lst
是上述列表中,你可以直接映射像这样:
lst.map {
case (a, b) => List(a, b)
case _ => Nil // just in case you got some data that doesn't fit
}
这将产生一个List[List[Double]]
看起来像以下:
List(List(1409497202065.0,0.533),List(1411804719.0,0.533), List(1411804735.0,0.533), List(1411811091.0,0.0))
上述系统的优点,是它的无限扩展;因为它总是能够更多的情况下添加到match
块
PS:在你的列表中的第一个数字是太大,是一个整数,这可以通过使用String
小号BigInt
s内固定,Long
s甚至Double
小号
我认为“以防万一”的情况是多余的,因为'lst'的类型是List [(Double,Double)]',所以它只是不能包含任何不是双打对的东西。然后有可能把它写成一行:) – 2014-09-28 12:39:07
@VladimirMatveev我喜欢掩盖我的基地;它包含的内容实际上是“(Long,Double)”,因为第一个数字不包含任何小数点 – 2014-09-28 17:17:33
它确实包含小数点:) – 2014-09-28 20:02:24
为了简单性和可读性,认为这对修真二倍体给定的名单a
,
for ((x,y) <- a) yield List(x,y)
这工作也(可能)二倍体的空列表。
'myList.map(List(_))'? – 2014-09-27 11:07:47
它创建列表如下列表(列表((1409497202065,0.533)),列表((1411804719,0.533)),列表((1411804735,0.533)),列表((1411811091,0.0))) – Yogesh 2014-09-27 11:09:50
嗨Neu它工作正常但一个问题,当我应该解析上面的列表json在播放框架“没有找到Json序列化器类型List [List [(Long,Float)]]”,我转换如下Json.toJson(转换)我认为为长值它可能不解析,它应该怎么解析json – Yogesh 2014-09-27 11:17:21