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

如何根据参考列表提取目标列表元素索引并生成嵌套索引列表

解决嵌套索引列表的生成问题

嘿,你的思路其实完全没问题,只是差了一步——把每次生成的单独索引列表收集到一个大列表里而已!

你当前的代码每次循环都会生成对应元素的索引列表,但只是直接打印出来,没有把它们汇总起来。只需要做一点小修改就能得到目标格式:

方法一:循环+列表追加

list1 = ["A", "B", "C", "D", "E"]
list2 = ["A", "A", "C", "B", "E", "A", "C", "B", "E", "D"]

# 先初始化一个空列表,用来存放最终的嵌套结果
final_result = []

for item in list1:
    # 生成当前元素在list2中的所有索引
    item_indices = [index for index, value in enumerate(list2) if value == item]
    # 把这个索引列表添加到最终结果里
    final_result.append(item_indices)

print(final_result)

运行这段代码,你就能得到想要的输出:[[0, 1, 5], [3, 7], [2, 6], [9], [4, 8]]

方法二:更简洁的列表推导式

如果你喜欢紧凑的写法,可以直接用嵌套列表推导式一行搞定:

list1 = ["A", "B", "C", "D", "E"]
list2 = ["A", "A", "C", "B", "E", "A", "C", "B", "E", "D"]

final_result = [[idx for idx, val in enumerate(list2) if val == item] for item in list1]
print(final_result)

这个版本和上面的循环逻辑完全一致,只是把循环和列表追加的逻辑合并成了一个推导式,代码更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 16:27:32