【发布时间】:2017-03-13 18:05:50
【问题描述】:
我有这样的整数列表:
val aRowcol: List[List[Int]]] =
List(List(0, 0), List(0, 1), List(0, 2)),
List(List(1, 0), List(1, 1), List(1, 2)),
List(List(2, 0), List(2, 1), List(2, 2)),
List(List(0, 0), List(1, 1), List(2, 2)),
List(List(2, 0), List(1, 1), List(0, 2)),
List(List(1, 0), List(0, 1), List(0, 2)),
List(List(1, 0), List(2, 1), List(2, 2))
val aAlpha: List[List[String]] = List(
List("a","b","c","d"),
List("e","f","g","h"),
List("i","j","k","l","m"))
val i = 4
val resNum:List[List[Int,String]] = (0 to i) {
_map => List(
aRowcol.take(i).head.head,
aRowcol.take(i).head(1),
aAlpha(aRowcol.take(i).head.head)(aRowcol.take(i).head(1))}
.toList
但我想要的 val resNum 的结果是:
List(
List(0,0,"a"),
List(1,0,"e"),
List(2,0,"i"),
List(0,0,"a"),
List(2,0,"i"))
(0,0) 表示第一行第一列,我们在那个位置有“a”,所以i 将定义我们将拥有多少aAlpha。我认为如果我们使用i++ 会容易得多,但你知道we couldn't do i++ in scala.
【问题讨论】:
-
您能更好地阐明您想要实现的目标吗?我无法弄清楚这里的逻辑。加号 -
list.take(i).head等价于list.head,因为take(n)返回前 n 个项目,head返回第一个 - 所以“前 n 个中的第一个”与“第一个”相同 -
那么
aRowcol应该是List[List[List[Int]]]吗?您的示例代码无法编译... -
我在代码示例中没有看到
aNumber list -
请解释您的用例以及您想在这里做什么?
标签: scala list foreach filter append