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

产品矩阵重复值处理需求:实现矩阵值的唯一性

实现矩阵元素唯一性的解决方案

需求明确:确保矩阵中每个形如[17;4]、[17;7]的元素仅出现一次,当前矩阵存在重复问题(参考示意图:Matrix Duplicates)

核心解决步骤

  • 识别重复元素
    遍历矩阵,用哈希表记录每个元素的出现次数,快速定位重复项:

    matrix = [[17,4], [17,7], [17,4], [23,5]]
    element_count = {}
    for row in matrix:
        elem = tuple(row)  # 列表不可哈希,转为元组作为字典键
        element_count[elem] = element_count.get(elem, 0) + 1
    # 提取重复元素
    duplicates = [k for k, v in element_count.items() if v > 1]
    
  • 去重实现
    两种实用方案:

    1. 保留原顺序,仅移除后续重复项:
      unique_matrix = []
      seen = set()
      for row in matrix:
          elem = tuple(row)
          if elem not in seen:
              seen.add(elem)
              unique_matrix.append(list(elem))
      
    2. 快速生成无重复矩阵(不保证原顺序):
      unique_matrix = list(map(list, set(tuple(row) for row in matrix)))
      
  • 结果验证
    确认处理后的矩阵所有元素唯一:

    final_count = {}
    for row in unique_matrix:
        elem = tuple(row)
        final_count[elem] = final_count.get(elem, 0) + 1
    # 断言验证,若失败则说明仍有重复
    assert all(v == 1 for v in final_count.values()), "矩阵中仍存在重复元素"
    

注意事项

  • 若矩阵元素为不可哈希类型(如嵌套数组、自定义对象),需自定义比较逻辑或转换为可哈希形式
  • 需保留原矩阵元素顺序时,优先选择第一种去重方法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:15:34