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

如何查找存在于列表列表中60%子列表内的元素?

找出出现在指定比例子列表中的元素

问题描述

给定列表:

X = [['a','b','c'],['a','d','e'],['a','x','f'],['g','h','j'],['y','u','i']]

需要获取出现在60%及以上子列表中的元素,预期结果为['a']('a'出现在5个子列表中的3个,占比60%)。

实现代码

X = [['a','b','c'],['a','d','e'],['a','x','f'],['g','h','j'],['y','u','i']]

# 统计每个元素出现的子列表数量
element_count = {}
for sublist in X:
    # 转成集合避免同一子列表内重复元素重复计数
    unique_elements = set(sublist)
    for elem in unique_elements:
        element_count[elem] = element_count.get(elem, 0) + 1

# 计算阈值:总子列表数 × 目标比例
total_sublists = len(X)
threshold = total_sublists * 0.6

# 筛选符合条件的元素
result = [elem for elem, count in element_count.items() if count >= threshold]

print(result)  # 输出: ['a']

代码说明

  • 统计元素出现次数:遍历每个子列表,先转成集合去重,确保同一个子列表里的重复元素只被计数一次,再用字典累加每个元素出现的子列表数量。
  • 计算阈值:用子列表总数乘以60%,得到需要达到的最小出现次数(这里是3)。
  • 筛选结果:遍历统计字典,把出现次数≥阈值的元素收集起来,得到最终结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 21:45:33