我具有相等长度的两个对象(一个是通过解析JSON产生的列表,并且另一个是多维阵列的切片),例如:是否可以在foreach中使用zip迭代器(即“压缩”两个迭代器)?
library(rjson)
library(foreach)
iter1<-iter(fromJSON(file=jsonfilename)$someJSONarray)
iter2<-iter(myarr, by="row")
我需要能够做如下:
out=foreach(x=zipiter(iter1,iter2),combine=list) %do%
{
#Do stuff with elements from both iterators accessed by e.g. x[[1]] and x[[2]]
}
是否有任何标准的方式来做到这一点(如在Python/C + +与增压Zip迭代器)?
太棒了!我认为它是关于通过压缩(压缩)文件进行迭代的...我只是创建了自己的izip迭代器,甚至将它命名为'izipiter'以避免与'izip'的名称冲突...现在我感觉非常愚蠢。至少我学到了一些关于迭代器构造的知识。谢谢! –
@AdamRyczkowski我将它命名为Python itertools包中的izip函数。事实上,大部分迭代器和foreach软件包都是从Python复制的。例如,foreach尝试复制Python列表解析。 –