我有两个列表:
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)
。
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))
我们可以使用append
append(l1, l2)
它还具有在特定位置插入元素的参数。
我一直想做同样的事情,但是将列表保留为只是一个字符串数组,所以我写了一个新代码,根据我一直在阅读的代码,虽然效率不是最高,但可以满足我的需要要做:
combineListsAsOne <-function(list1, list2){
n <- c()
for(x in list1){
n<-c(n, x)
}
for(y in list2){
n<-c(n, y)
}
return(n)
}
它只是创建一个新列表,并从两个提供的列表中添加项目以创建一个。