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

提取二维列表(2D List)各子列表中的重复元素

筛选二维列表中含重复元素的子列表

给定一个二维列表,我们需要从中提取出所有包含重复元素的子列表。以下是具体实现方案:

示例输入

Df = [[2,3,5,20],[5,10,20,10],[4,13,15,15,17,34,17],[33,34,15,21]]

期望输出

Result = [[5,10,10,20],[4,13,15,15,17,17,34]]

实现代码

方案1:筛选并排序(匹配示例输出)

如果需要将子列表中的重复元素相邻排列(如示例结果所示),可以先筛选再排序:

# 筛选含重复元素的子列表,同时排序让重复元素相邻
result = [sorted(sublist) for sublist in Df if len(sublist) != len(set(sublist))]
print(result)

运行后输出与期望结果完全一致。

方案2:仅保留原顺序筛选

如果不需要排序,只想保留子列表原有顺序,直接筛选即可:

# 仅筛选含重复元素的子列表,保留原顺序
result = [sublist for sublist in Df if len(sublist) != len(set(sublist))]
print(result)

输出结果为:[[5, 10, 20, 10], [4, 13, 15, 15, 17, 34, 17]]

逻辑说明

  • 判断子列表是否含重复元素:利用集合的去重特性,若子列表长度与对应集合长度不一致,说明存在重复元素。
  • 排序处理:sorted()函数会将子列表元素按升序排列,自然让重复元素聚集在一起,匹配示例的输出格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:05:08