我有两个清单:
l1 = list(2, 3)
l2 = list(4)
我想要第三个清单:
list(2, 3, 4).
我怎样才能以简单的方式做到这一点。 虽然我可以在for循环中进行,但我期待一个单行答案,或者可能是内置方法。
实际上,我有一个清单:
list(list(2, 3), list(2, 4), list(3, 5), list(3, 7), list(5, 6), list(5, 7), list(6, 7)).
在list(2, 3)
和list(2, 4)
上进行计算后,我想要list(2, 3, 4)
。
答案 0 :(得分:72)
c
可用于列表(而不仅仅用于向量):
# you have
l1 = list(2, 3)
l2 = list(4)
# you want
list(2, 3, 4)
[[1]]
[1] 2
[[2]]
[1] 3
[[3]]
[1] 4
# you can do
c(l1, l2)
[[1]]
[1] 2
[[2]]
[1] 3
[[3]]
[1] 4
如果你有一个列表列表,你可以用do.call
更舒适地完成它(例如:
do.call(c, list(l1, l2))
答案 1 :(得分:32)
我们可以使用append
append(l1, l2)
它还具有在特定位置插入元素的参数。
答案 2 :(得分:0)
我一直想做同样的事情,但是将列表保留为只是一个字符串数组,所以我写了一个新代码,根据我一直在阅读的代码,它可能不是最有效的,但可以满足我的要求。需要做的:
combineListsAsOne <-function(list1, list2){
n <- c()
for(x in list1){
n<-c(n, x)
}
for(y in list2){
n<-c(n, y)
}
return(n)
}
它只是创建一个新列表,并从两个提供的列表中添加项目以创建一个。