You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用purrr::map系列函数实现嵌套列表元素的赋值与排序

实现代码

首先加载依赖包:

library(tidyverse)

核心实现(使用purrr::map2,符合优先使用map系列函数的要求):

listB_mod <- map2(listA, listB, ~{
  # .x 对应listA的当前分组元素,.y 对应listB的当前分组元素
  .y$labels <- .x$names[.y$order]
  .y
})

逻辑说明

  • map2() 会并行遍历listA和listB的同名/同位置分组元素,无需单独处理分组匹配逻辑
  • 每组内直接用listB当前分组的order作为索引,提取listA对应分组的names列值,赋值给labels字段即可,原有order字段会完整保留
  • 若不确定两个列表的分组排序是否完全一致,可以先对齐分组名称再执行操作,写法更稳妥:
    listB_mod <- map2(listA[names(listB)], listB, ~{
      .y$labels <- .x$names[.y$order]
      .y
    })
    

执行后输出的listB_mod和你给出的预期结果完全一致。

内容的提问来源于stack exchange,提问作者jonathanvo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 01:15:00