我是scala新手,想知道如何在scala中的特定索引处启动foreach循环?我的代码目前看起来像这样:
var i = list.indexOf("three")
for(n <-list){
/*do some operation*/
}
这里的“列表”包含字符串列表[“一”、“二”、“三”、“四”、“五”]。而不是从列表的开始,我希望我的每一个循环从索引i开始操作,忽略所有的VAUES在前面(即只考虑值“四”和“五”)。
谁能帮帮我吗?提前谢谢
嗯,你可以使用。像另一个答案所建议的那样放下
,但在这种情况下这样做是错误的。你最终会两次遍历列表的开头,这既低效又不雅观。
您只需进行一次扫描即可完成相同的操作:
list
.dropWhile(_ != "three")
.tail
.foreach { n =>
...
}
使用丢弃
:
for (n <- list.drop(i)) {...}
我正在寻找一种优雅的方式,可能是用Guava来包装一个迭代/迭代器,这样新的迭代/迭代器 从某个索引开始,并且 在某个索引处停止。 Guava似乎具有限制输入的功能(http://docs.guava-libraries.googlecode.com/git/javadoc/comm/google/common/collect/iterables.html#limit(java.lang.iter
问题内容: 我有一个字符串,假设我需要替换索引3处的char。如何通过指定索引来替换char? 我需要类似的东西 问题答案: 在JavaScript中,字符串是 不可变的 ,这意味着您可以做的最好的事情是创建一个具有更改内容的新字符串,然后将变量分配为指向它。 您需要自己定义函数: 并像这样使用它:
问题内容: 我可以在熊猫的特定列索引处插入列吗? 这会将列作为的最后一列,但是没有办法告诉它放在开始处吗? 问题答案: 参见文档:http : //pandas.pydata.org/pandas- docs/stable/genic/pandas.DataFrame.insert.html 使用loc = 0将在开头插入
我想重复前四个指标1次,然后是接下来的4个指标,但由于指标数可能会发生变化,所以我希望这个动态指标的预期输出应该是y=[1,1,3,3,1,1,3,3,5,5,5,5,5]。我试图在特定索引处重复数组,如以下代码所示:
所以我想做的是console.log我的三节点数组中的一个特定元素。 我谷歌了一下,发现了这个帖子:在forEach循环中获取一个特定的元素,确实问了同样的问题。然而,当我控制台记录元素时,我期望得到索引为0的节点。然而,我得到了一个空元素。
我在forEach循环中有一个select元素列表,并且只想要位于索引0的第一个元素。 这个元素将有一个不同的方法,我试图防止重复的代码,我不想只为这个元素创建另一个方法,我试图解决它,但似乎我不成功。