使用for循环,我如何遍历列表,能够不迭代列表中的最后一个元素。
在我的情况下,我不想迭代第一个元素,需要向后迭代,这就是我所拥有的:
for( thing <- things.reverse) {
//do some computation iterating over every element;
//break out of loop when first element is reached
}
答案 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) {}