You need to enable JavaScript to run this app. Python中如何获取列表差集元素及其在原列表中的对应索引?
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何获取列表差集元素及其在原列表中的对应索引?

你之前调用方法失败的核心原因是拼写错误,列表获取元素位置的方法为.index()而非你写的.idex()。不过即使修正拼写,用该方法查询索引的效率偏低,且如果列表存在重复元素时只会返回首个匹配项的索引,容易得到错误结果,更推荐用以下方案实现需求:

实现代码

用Python内置enumerate()函数可在遍历列表时同时获取元素下标与对应值,直接在列表推导式中筛选符合条件的下标即可:

abbi = ['a','b','c','d','e']
james = ['a','b','c','d','e','f','g','h']

# 提前转为集合可大幅提升in判断的执行效率,列表元素越多性能收益越明显
abbi_set = set(abbi)
diff_indexes = [idx for idx, item in enumerate(james) if item not in abbi_set]
print(diff_indexes)
# 输出结果:[5, 6, 7]

如果需要同时拿到差集元素和对应的索引,可直接收集二元组:

diff_info = [(idx, item) for idx, item in enumerate(james) if item not in abbi_set]
print(diff_info)
# 输出结果:[(5, 'f'), (6, 'g'), (7, 'h')]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 10:45:00