2

我有这样的列表列表:

List(List(1, 2, 3), List(1, 2), List(1))

我想得到

List(List(1, 2, 3), List(1, 2), List(1), List()) 

或者

List(List(), List(1, 2, 3), List(1, 2), List(1))

标准串联不起作用,我该怎么办?

4

3 回答 3

1
val l = List(List(1, 2, 3), List(1, 2), List(1))
l: List[List[Int]] = List(List(1, 2, 3), List(1, 2), List(1))

List()+:l
res0: List[List[Int]] = List(List(), List(1, 2, 3), List(1, 2), List(1))
于 2016-07-15T22:01:05.700 回答
0

这对我有用。

scala> val ls = List(List(1, 2, 3), List(1, 2), List(1))
ls: List[List[Int]] = List(List(1, 2, 3), List(1, 2), List(1))
scala> val newLs = List()::ls
newLs: List[List[Int]] = List(List(), List(1, 2, 3), List(1, 2), List(1))
于 2013-05-03T21:59:49.700 回答
0
ls::List()

是错误的语法

List()::ls 

有效,但您必须将其分配给新列表。您不能修改原始 ls 因为它是不可变的。

于 2014-05-01T17:40:09.180 回答