嵌套列表(R 中):将具有单个值和相同结构的列表中的值分配给嵌套列表[重复]

问题描述 投票:0回答:1

假设有两个列表;

my_List_B
总是有一个元素,要么

  1. 将出现在
    my_List_A
    或,
  2. 将添加到
    my_List_A

有没有简单的方法可以按照规则将

my_List_A
中的值更改为
my_List_B
中的值?

我唯一的解决方案涉及

map
递归。对于本应简单的事情来说,这是一件棘手的事情。

my_list_A <- list(
  level1 = list(
    item1 = 1,
    item2 = 2,
    sublist1 = list(
      subitem1 = "a",
      subitem2 = "b"
    )
  ),
  level2 = list(
    item3 = 3,
    item4 = 4,
    sublist2 = list(
      subitem3 = "c",
      subitem4 = "d"
    )
  )
)


my_list_B <- list(
  level1 = list(
    sublist1 = list(
      subitem2 = "c")
  )
)
r list assign
1个回答
0
投票

您可以使用

modifyList
来实现此目的:

my_list_A <- list(
  level1 = list(
    item1 = 1,
    item2 = 2,
    sublist1 = list(
      subitem1 = "a",
      subitem2 = "b"
    )
  ),
  level2 = list(
    item3 = 3,
    item4 = 4,
    sublist2 = list(
      subitem3 = "c",
      subitem4 = "d"
    )
  )
)

my_list_B <- list(
  level1 = list(
    sublist1 = list(
      subitem2 = "c")
  )
)

my_list_A <- modifyList(my_list_A, my_list_B)
print(my_list_A)
© www.soinside.com 2019 - 2024. All rights reserved.