myls <- vector("list", length = 15)
for(j in 1:15){
myls[[j]] = NULL
}
> length(myls)
[1] 7
我有一个包含15个元素的列表,并为所有15传递NULL
值。但是,结果列表的长度只有7 NULL
个值?其他8个怎么了?
答案 0 :(得分:1)
分配myls[[j]] = NULL
会从向量中删除第j个元素。因此,在每次迭代直到/包括j = 8时,myls
缩短为1.在j = 8次迭代之后,它的长度为7,后续迭代不执行任何操作。
如果您想将元素设置为NULL
,请使用myls[j] = list(NULL)
。