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

Python如何实现单列表去重时同步删除另一列表同索引元素

关联列表同步去重实现方案

核心要保证两个列表的索引对应关系不混乱,去重时保留词汇首次出现的条目,丢弃后续重复词汇的同时同步丢弃对应位置的类型值,最稳妥的实现是遍历生成新列表,避免直接修改原列表导致的索引错位问题。

实现代码

# 原始输入数据
words = ['fish', 'Robert', 'dog', 'ball', 'cat', 'dog', 'Robert']
word_types = ['animal', 'person', 'animal', 'object', 'animal', 'animal', 'person']

seen_words = set()
unique_words = []
unique_types = []

# 同步遍历两个列表,按配对处理元素
for word, typ in zip(words, word_types):
    if word not in seen_words:
        seen_words.add(word)
        unique_words.append(word)
        unique_types.append(typ)

运行后得到的结果完全符合预期:

  • unique_words值为['fish', 'Robert', 'dog', 'ball', 'cat']
  • unique_types值为['animal', 'person', 'animal', 'object', 'animal']

注意事项

不要在遍历原列表的过程中直接通过索引删除元素,删除操作会改变列表长度,后续元素的索引会整体前移,非常容易出现删错位置、漏处理元素的问题。上面的一次遍历生成新结果的写法时间复杂度为O(n),逻辑简单不容易出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:39:20