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

如何高效拆分含重复测量值的列表?确保每个测量值仅出现一次

高效拆分列表的解决方案

需求明确

你的列表存在两类元素:

  • 常规元素:仅出现2次,最终需保留1次
  • 重复测量元素:出现4次及以上,最终需保留2次
    顺序不做要求,只需满足每个元素的保留次数符合上述规则。

代码实现

用Python的collections.Counter可高效完成统计与结果生成:

from collections import Counter

example_list = [1, 2, 3, 4, 1, 1, 2, 1, 3, 4]
element_counts = Counter(example_list)
outcome = []
for item, cnt in element_counts.items():
    # 每个元素保留次数为出现次数整除2
    outcome += [item] * (cnt // 2)

print(outcome)  # 输出示例:[1, 1, 2, 3, 4](顺序无关)

方案优势

  • 时间复杂度为O(n),处理大规模列表效率优异
  • 逻辑清晰,通过统计频次直接计算保留次数,精准区分两类元素
  • 代码简洁易维护,无需复杂额外操作

为什么不能用unique()?

unique()方法会直接去除所有重复项,仅保留每个元素一次,无法满足「重复测量元素需保留2次」的核心需求,因此不适用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:10:01