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

Python如何在执行list.extend前校验待添加列表与原列表是否有重复元素

列表合并前置校验实现方案

注意:不要使用list作为变量名,会覆盖Python内置的列表类型,下文统一用original_list指代原列表

  • 核心逻辑说明

    1. 先将原列表转换为集合,利用集合的哈希查找特性,把单个元素存在性判断的时间复杂度从O(n)降到O(1),元素量大的时候性能优势非常明显
    2. 使用内置any()函数遍历待添加列表,只要找到任意一个已存在于原集合的元素,就会立即终止遍历,判定为存在重复
    3. 仅当待添加列表所有元素都不存在于原列表时,才执行extend()合并操作
  • 代码实现

# 初始化示例原列表
original_list = ["A", "B", "C", "D"]
# 待添加列表(可替换为用户输入生成的列表)
list_added = ["D", "H"]

# 校验逻辑
original_set = set(original_list)
has_duplicate = any(item in original_set for item in list_added)

if not has_duplicate:
    original_list.extend(list_added)
else:
    # 可根据需求自定义重复后的处理逻辑,比如抛出提示、返回错误码等
    print("待添加列表存在重复元素,未执行合并")

场景验证:示例中待添加列表包含已存在的"D",校验不通过,original_list保持原值不变;如果待添加列表替换为["E", "F"],校验通过后original_list会更新为["A", "B", "C", "D", "E", "F"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:36:04