将一个列表的每个命名元素附加到另一个列表的相同命名元素

杰博

这对我来说似乎很简单,但不幸的是我找不到简单的解决方案。我想将一个列表的每个命名元素附加到另一个列表的相同命名元素 - 保留命名列表结构。不是在寻找硬编码的解决方案。我下面的方法给出了正确的结构,但没有给出正确的名称。

ls1 <- list(a = list(1:3, 1:3), b = list(1:3, 1:3))
ls2 <- list(a = 4:6, b = 4:6)


# desised output
list(a = list(1:3, 1:3, 4:6), b = list(1:3, 1:3, 4:6))
#> $a
#> $a[[1]]
#> [1] 1 2 3
#> 
#> $a[[2]]
#> [1] 1 2 3
#> 
#> $a[[3]]
#> [1] 4 5 6
#> 
#> 
#> $b
#> $b[[1]]
#> [1] 1 2 3
#> 
#> $b[[2]]
#> [1] 1 2 3
#> 
#> $b[[3]]
#> [1] 4 5 6

# my attempt
lapply(names(ls1), function(name) c(ls1[[name]], ls2[name]))
#> [[1]]
#> [[1]][[1]]
#> [1] 1 2 3
#> 
#> [[1]][[2]]
#> [1] 1 2 3
#> 
#> [[1]]$a
#> [1] 4 5 6
#> 
#> 
#> [[2]]
#> [[2]][[1]]
#> [1] 1 2 3
#> 
#> [[2]][[2]]
#> [1] 1 2 3
#> 
#> [[2]]$b
#> [1] 4 5 6

reprex 包(v1.0.0)于 2021 年 3 月 13 日创建

罗纳克·沙阿

您可以使用Map

Map(function(x, y) c(x, list(y)), ls1, ls2[names(ls1)])

#$a
#$a[[1]]
#[1] 1 2 3

#$a[[2]]
#[1] 1 2 3

#$a[[3]]
#[1] 4 5 6


#$b
#$b[[1]]
#[1] 1 2 3

#$b[[2]]
#[1] 1 2 3

#$b[[3]]
#[1] 4 5 6

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将列表(元素)附加到另一个列表中,按字母给出一个元素

将列表的元素附加到迭代器的左侧或右侧到另一个列表

如何将列表中的匹配元素附加到另一个列表?

如何将一个列表的所有元素附加到另一个列表?

R:如何使用一个列表的元素重命名不同长度的另一个列表的元素?

将列表的所有元素分别附加到python中另一个列表的所有元素

如何将列表的每个元素与另一个列表的每个元素左连接

将列表的每个元素与另一个列表的每个元素进行比较

python根据另一个列表重命名列表元素

如何使用 for 循环重命名另一个列表中的列表元素?

当现有列表的每个元素在for循环内被更改时,如何将列表附加到python for循环中的另一个列表?

取一个列表的迭代元素并将其附加到另一个列表

将张量附加到另一个张量的每个元素

将列表插入另一个列表,每个元素都有索引

Groovy:将列表的某些元素添加到另一个列表

如何将元素从另一个列表添加到列表?

根据R中的另一个列表将元素添加到列表

如何将一个列表的每个元素合并到另一个列表?

如何将一个列表中的元素添加到另一个列表?

如何将一个列表中的元素添加到另一个列表中?

从另一个列表附加到列表

Python:列表推导方法:将每个列表元素与另一个列表的特定元素相乘

将列表中的每个元素与另一个列表中的2个元素进行比较,使代码高效

将列表的每个元素与 Python3 中另一个列表的每个元素进行比较

将函数应用于列表中的每个元素到另一个列表中的每个元素

将元素从附加列表传递到另一个页面

如何在scala中的另一个列表的每个元素的末尾添加一个列表的每个元素?

将元组列表从一个附加到另一个

C:将元素从一个列表移动到另一个列表