好,所以我需要以特定方式以编程方式合并两个嵌套列表。很难解释,最简单的事情就是提供一个玩具模型。假设我有两个嵌套列表,如下所示:
final Person person = Person.builder().name("antonio").build();
final ResponseEntity response = restTemplate.postForEntity(
new URL("http://localhost:" + port + "/person/aggregate").toString(),
person, Person.class);
列表如下:
a <- list(101:110, 201:210)
b <- list(111:120, 211:220)
d <- list(311:320, 311:320)
nestlist1 <- list(a, b)
nestlist2 <- list(d)
鉴于上面的两个嵌套列表,我如何编写代码(基于R或purrr)以使列表看起来像这样:
> nestlist1
[[1]]
[[1]][[1]]
[1] 101 102 103 104 105 106 107 108 109 110
[[1]][[2]]
[1] 201 202 203 204 205 206 207 208 209 210
[[2]]
[[2]][[1]]
[1] 111 112 113 114 115 116 117 118 119 120
[[2]][[2]]
[1] 211 212 213 214 215 216 217 218 219 220
> nestlist2
[[1]]
[[1]][[1]]
[1] 311 312 313 314 315 316 317 318 319 320
[[1]][[2]]
[1] 311 312 313 314 315 316 317 318 319 320
答案 0 :(得分:2)
您可以使用Map
,然后创建一个附加列表的函数:
a <- list(101:110, 201:210)
b <- list(111:120, 211:220)
d <- list(311:320, 311:320)
nestlist1 <- list(a, b)
nestlist2 <- list(d)
wantedlist <- list()
append_list <- function(l1, l2) c(l1, list(l2))
Map(f = append_list, nestlist1, unlist(nestlist2, recursive = FALSE))
[[1]]
[[1]][[1]]
[1] 101 102 103 104 105 106 107 108 109 110
[[1]][[2]]
[1] 201 202 203 204 205 206 207 208 209 210
[[1]][[3]]
[1] 311 312 313 314 315 316 317 318 319 320
[[2]]
[[2]][[1]]
[1] 111 112 113 114 115 116 117 118 119 120
[[2]][[2]]
[1] 211 212 213 214 215 216 217 218 219 220
[[2]][[3]]
[1] 311 312 313 314 315 316 317 318 319 320