如何在R中组合两个列表

Roh*_*ngh 83 r list

我有两个清单:

l1 = list(2, 3)
l2 = list(4)
Run Code Online (Sandbox Code Playgroud)

我想要第三个清单:

list(2, 3, 4).
Run Code Online (Sandbox Code Playgroud)

我怎么能以简单的方式做到这一点.虽然我可以在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).

Vin*_*mme 102

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
Run Code Online (Sandbox Code Playgroud)

如果您有一个列表列表,您可以(或许)更舒适地使用do.call,例如:

do.call(c, list(l1, l2))
Run Code Online (Sandbox Code Playgroud)


akr*_*run 43

我们可以用 append

append(l1, l2)
Run Code Online (Sandbox Code Playgroud)

它还具有在特定位置插入元素的参数.

  • @Frosi 你可以做 `c(l1, l2, l3)`,`append()` 只是 `c()` 的包装器,但只需要两个参数。 (7认同)
  • @akrun两个以上列表的语法如何? (2认同)