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

如何用Python判断嵌套列表中的子列表是否包含相同元素?

判断嵌套列表中所有子列表是否包含相同元素的Python实现

针对你的需求,这里提供两种常见场景的实现方案:

1. 严格匹配(子列表完全一致,包括元素顺序)

这种方式要求所有子列表的元素顺序和内容完全相同,和你给出的示例逻辑一致。

实现代码:

def all_sublists_equal(nested_list):
    if not nested_list:
        return True
    reference = nested_list[0]
    return all(sublist == reference for sublist in nested_list)

测试验证:

  • 输入 [['A', 'B'], ['A', 'B'], ['A', 'B']] → 返回 True
  • 输入 [['B', 'C'], ['Z', 'C']] → 返回 False

2. 忽略元素顺序的匹配(仅要求元素集合一致,含重复元素)

如果需要忽略子列表的元素顺序,同时考虑重复元素的数量(比如 ['A','A','B'] 和 ['A','B','A'] 视为相同,但和 ['A','B','B'] 不同),可以通过排序后比较实现:

实现代码:

def all_sublists_same_elements(nested_list):
    if not nested_list:
        return True
    reference_sorted = sorted(nested_list[0])
    return all(sorted(sublist) == reference_sorted for sublist in nested_list)

测试验证:

  • 输入 [['A', 'B'], ['B', 'A']] → 返回 True
  • 输入 [['A','A','B'], ['A','B','B']] → 返回 False

边界情况说明

  • 若传入的嵌套列表为空([]),两个函数都会返回 True,你可以根据实际需求修改这个默认行为
  • 如果子列表的长度不同,两种方法都会直接返回 False,因为长度不同的列表不可能满足元素完全相同的条件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:20:28