r - 在for循环R中迭代地添加到序列
问题描述
我想迭代地将元素添加到我循环的列表中:
list = as.list(c(1,2,3))
list
for (x in list) {
new_element = as.list(x^2)
print(new_element)
list = union(list, new_element)
}
list
但是,R 仅采用循环中的原始 3 个元素。我希望循环继续使用新元素。关于如何调整代码的任何想法?谢谢!
解决方案
使用while
循环而不是for
循环,以及break
最终终止:
mylist = as.list(c(1,2,3))
i <- 1
while(TRUE){
x <- mylist[[i]]
if(x<10){
new_element <- as.list(x^2)
print(new_element)
mylist = union(mylist, new_element)
i <- i+1
} else {
break
}
}
这会导致mylist
循环终止时有 7 个项目(分别包含 1、2、3、4、9、16、81 的列表)。
推荐阅读
- mysql - 为什么添加 AUTO_INCREMENT 需要这么长时间?
- image - 如何将 n×n 矩阵更改为点云矩阵?
- python - 无法从“html.parser”导入名称“HTMLParseError”
- java - Java:如何拆分字符串以读取命令和调用方法?
- python - 使用列表推导将数字加倍,直到达到 x
- c - 为什么分段错误+我该如何摆脱它?
- c# - 具有 Seed 方法和 NotMapped 属性的 EF Core 2.1
- javascript - 不保证 JS 对象的属性顺序,进一步调查?
- java - 将图像动态添加到 JLabel
- vba - 循环内条件 (VBA)