簡體   English   中英

如何精確展平嵌套列表的二維?

[英]How to flatten exactly two dimensions of the nested list?

假設我有一個列表a內置如下:

a1<-list(1,2,list("X",10))
a2<-list("A",list("B"),"C")
a3<-list(list("D",list("E")),3.14)
a<-list(a1,a2,a3)

如何將a轉換為:

list(1,2,list("X",10),"A",list("B"),"C",list("D",list("E")),3.14)

我想要一個適用於任意數量的a1, a2, a3... an的解決方案,不僅適用於上面示例中的a1, a2a3

在Mathematica中,我只使用Flatten[a,1] ,但是在R中如何做到這一點?

unlistrecursive=FALSE

dput(unlist(a,recursive=FALSE))
list(1, 2, list("X", 10), "A", list("B"), "C", list("D", list(
    "E")), 3.14)

do.call('c', a)會比Reduce('c', a)更快。 unlist(a, recursive = FALSE, use.names = FALSE)unlist(a, recursive = FALSE)更快。 unlist是這種情況下的解決方法。

將發表評論,但我似乎沒有能力。

這很簡單:

Reduce("c",a)

就這樣。

您正在尋找unlist(a, recursive=FALSE)嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM