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

Python中查找嵌套列表中子列表元素对应索引的实现问题

实现代码

你可以直接用嵌套列表推导式完成需求,逻辑清晰简洁:

# 注意原示例中的A/B/C为字符串时需加引号,此处按字符串场景给出示例
list1 = [['A','A','B','C'], ['A','A','B','C']]
list2 = [['C'], ['A','C']]

result = [
    [index for index, value in enumerate(l1_item) if value in l2_item]
    for l1_item, l2_item in zip(list1, list2)
]

print(result)
# 输出结果与预期一致:[[3], [0, 1, 3]]

逻辑说明

  • 用zip()将list1和list2的对应位置子列表配对,逐组处理
  • 对list1的每个子列表用enumerate()同时遍历元素索引和元素值
  • 仅保留元素值存在于对应list2子列表中的索引,组成结果

性能优化方案

如果list2的子列表元素较多,可以提前将子列表转为集合,把in操作的时间复杂度从O(n)降到O(1),提升运行效率:

result = [
    [index for index, value in enumerate(l1_item) if value in l2_set]
    for l1_item, l2_set in zip(list1, map(set, list2))
]

内容的提问来源于stack exchange,提问作者Paco gil de montes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:15:01