Scala遍历列表,除了最后一个元素

时间:2014-02-04 22:45:49

标签: scala for-loop

使用for循环,我如何遍历列表,能够不迭代列表中的最后一个元素。

在我的情况下,我不想迭代第一个元素,需要向后迭代,这就是我所拥有的:

        for( thing <- things.reverse) {
          //do some computation iterating over every element; 
          //break out of loop when first element is reached
        }

2 个答案:

答案 0 :(得分:10)

您可以在撤消之前删除第一个项目:

for(thing <- things.drop(1).reverse) {
}

对于列表,如果列表非空,则drop(1)tail相同:

for(thing <- things.tail.reverse) {
}

或者你可以先反过来使用dropRight

for(thing <- things.reverse.dropRight(1)) {
}

如果列表非空,您还可以使用init

for(thing <- things.reverse.init) {
}

答案 1 :(得分:3)

如Régis所述,for(thing <- things.tail.reverse) {}