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

Python如何判断拆分出的x_list、y_list中是否存在重叠值

检查列表重复值的实现方法

方法1:快速判断是否存在重复值(无需知道具体重复内容)

利用Python集合自动去重的特性,对比原列表和转成集合后的长度即可:

def has_duplicate(lst: list) -> bool:
    # 长度不一致说明存在被集合去重的重复元素
    return len(lst) != len(set(lst))

# 调用示例
print(has_duplicate(x_list)) # 输出:True,x_list存在重复值13
print(has_duplicate(y_list)) # 输出:True,y_list存在重复值17

方法2:获取具体的重复值

如果需要知道哪些值出现了多次,可以使用collections.Counter统计元素出现频次:

from collections import Counter

def get_duplicate_values(lst: list) -> list:
    count_result = Counter(lst)
    # 筛选出出现次数大于1的元素
    return [val for val, cnt in count_result.items() if cnt > 1]

# 调用示例
print(get_duplicate_values(x_list)) # 输出:[13]
print(get_duplicate_values(y_list)) # 输出:[17]

补充:直接判断原始区间是否存在重叠

如果你的最终需求是校验原始区间列表是否存在重叠区间,不需要单独提取左右端点列表,可以直接排序后遍历校验:

def has_overlapping_intervals(intervals: list) -> bool:
    # 按区间左端点升序排序
    intervals.sort(key=lambda x: x[0])
    for i in range(1, len(intervals)):
        # 后一个区间的左端点小于等于前一个区间的右端点,说明存在重叠
        if intervals[i][0] <= intervals[i-1][1]:
            return True
    return False

# 调用示例
print(has_overlapping_intervals(List)) # 输出:True

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:54:03