是否有一种有效的方法可以在for循环中跳过迭代?
我有一个大型数据集,其中包含S& P 500指数的期权价格。数据集的范围从1992年到2009年。现在,我总共有3481个引用日期存储在某个向量中,我称之为QDvector
。我只对2008年至2009年的报价日期感兴趣。对于每个报价日期,我都会运行某个程序。感兴趣的报价日期是从3290到3481.但是,在一些特殊情况下(很少),由于缺乏库存数据,该计划不起作用。如何在for循环中跳过这些迭代?
例如,假设我有
for index = 3290:3481
[...]
end
并假设我不想考虑index == 3389
。如何跳过此迭代?
index == 3389
对应的参数。 QDvector
中删除引用日期。我不喜欢这种方法,因为我必须改变太多其他变量。 我只是在寻找一种跳过某些迭代而没有任何后果的好方法。
答案 0 :(得分:3)
是的,continue
语句允许这样做。
for index = 3290:3481
[...]
continue; % wherever applicable
end
答案 1 :(得分:0)
检查索引并在找不到代码时执行。
for index = 3290:3481
if index != 3389
[...]
end
end
如果没有else语句,当语句为false时,不会发生任何事情,从而有效地跳过索引。
可替换地:
for index = 3290:3481
if index == 3389
continue
else
[...]
end
end
效率略低,因为检查将会运行,并且在大多数情况下会进入其他状态。但是只有191次传球,它可能不会引人注意。