【发布时间】:2017-06-12 20:54:56
【问题描述】:
举个例子,我有一个矩阵:Array[Array[Int]], m * n,我想压缩 m 个 Lists(rows)。
输入 m*n 矩阵:
val list = List( //m Lists
List(1,2,3,...,n), //n Int in each List
List(11,12,13,...,n),
...,
...,
...,
List(91,92,93,...,n)
)
输出应该是:
List( // n Lists
List(1,11,...,91), //m Int in each List
List(2,12,...,92),
List(3,13,...,93),
...,
...,
...,
List(n,n,...,n)
)
在python中,我可以简单地做
map(list, zip(*matrix))
我已经看到了一些解决方案,但是,它们仅适用于压缩特定数量的列表。 Scala 中有没有像 Python 那样简洁的解决方案?
更新: 感谢回答,我发现Scala中的关键字是transpose,请查看类似问题:How to perform transpose on List of Lists in scala?
【问题讨论】:
-
所以你本质上想要转置矩阵?目前尚不清楚您希望操作的输出是什么。也许一个示例输入/输出或输出类型将有助于澄清。
标签: scala