的減指數對於一個實際的練習,我需要定義,基本上每變化值的指數在奇數索引列表的功能,這樣我就得到這樣的:斯卡拉:奇數值
changePairs(List(1,2,3,4,5,6,7,8,9,10,11))
//> res62: List[Int] = List(2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 11)
changePairs(List(2,2,30,4,50,6,7,80,9,100))
//> res63: List[Int] = List(2, 2, 4, 30, 6, 50, 80, 7, 100, 9)
所以基本上我需要交換每個奇偶對的位置,並且如果我在最後一個索引處留下了一個奇數元素(第一個示例中爲11),我將它保留原樣。
我有這個,但它絕對不工作,我不知道爲什麼。
def changePairs(a: List[Int]) = a.zipWithIndex.map {
case (s,i) => if (i % 2 != 0) a.patch(i,Seq(s),1); a.patch(i-2,Seq(s),0);
}
目前尚不清楚你想要做什麼。如果你想改變奇數值的索引,爲什麼在第二個例子中移動了'4'和'6'? –
我不明白你的邏輯。你的第二個例子只有兩個奇數值(7和9),但比這兩個值改變了很多。 –
'a.grouped(2).map(_。reverse).flatten.toList'這個問題在前幾天被問過,但是找不到。 – Psidom