ami*_*mit 5 scala nested-lists flatten
在Scala中是否有一种简单的方法可以将某些事物的序列(等)序列的嵌套序列展平或"取消列表"到这些事物的简单序列中,而没有任何嵌套结构?
我不认为有一个 flatten` 方法可以将深度嵌套转换为序列。
编写一个简单的递归函数来完成此操作很容易
def flatten(ls: List[Any]): List[Any] = ls flatMap {
case ms: List[_] => flatten(ms)
case e => List(e)
}
val a = List(List(List(1, 2, 3, 4, 5)),List(List(1, 2, 3, 4, 5)))
flatten(a)
//> res0: List[Any] = List(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
883 次 |
| 最近记录: |