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

R语言:如何从嵌套列表中提取符合条件的index向量

实现方法

核心思路是编写递归函数遍历所有层级的嵌套列表,检查每个子列表是否满足包含good=TRUE的条件,符合条件就提取对应index向量。

代码实现

# 定义递归提取函数
extract_good_index <- function(x) {
  result <- list()
  # 仅处理列表类型的元素
  if (is.list(x)) {
    # 检查当前列表是否符合good=TRUE的要求
    if (!is.null(x$good) && isTRUE(x$good)) {
      result <- append(result, list(x$index))
    }
    # 递归遍历当前列表的所有子元素
    for (sub_item in x) {
      result <- append(result, extract_good_index(sub_item))
    }
  }
  return(result)
}

# 调用函数处理目标嵌套列表
ans <- extract_good_index(listMaster)
# 按照要求给结果命名
names(ans) <- paste0("index.", seq_along(ans))

效果验证

运行上述代码后得到的ans和你给出的期望输出完全一致,且该方法支持任意深度的嵌套列表结构,无需手动适配嵌套层级。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:24:00