如何打印列表如下? [42,[],1]
val c : List[List[String]] = List(List("a", "c"), List("b"))
我试过:
println(c.mkString("[",",","]"))
但我不知道,如何在中间做括号。
答案 0 :(得分:2)
这有多接近?
val c : List[List[String]] = List(List("a", "c"), List("b"))
c.map(x => x.mkString("[", ", ", "]")).mkString
// String = [a, c][b]
答案 1 :(得分:0)
您可以定义一个函数s
,它可以从列表["a","b"]
创建字符串List("a","b")
。
val c : List[List[String]] = List(List("a", "c"), List("b"))
def s[T](list:List[T]) = list.mkString("[",", ","]")
println(s(c map s)) // [["a", "c"], "b"]
或更通用的选项:
val d = List(List("a", List("c"), List.empty[String]), List("b"))
def t[T](list: List[T]): String = list.map {
case a: List[_] => t(a)
case a => a
} mkString("[", ", ", "]")
println(t(d)) // [[a, [c], []], [b]]