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

无需使用NumPy获取矩阵上三角部分的索引方法咨询

获取矩阵上三角(不含主对角线)的索引

你可以通过嵌套循环直接遍历并收集符合条件的索引,不需要依赖numpy的方法。以下是实现代码:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
upper_tri_indices = []
for i in range(len(matrix)):
    # 遍历当前行中列索引大于行索引的位置,跳过主对角线
    for j in range(i + 1, len(matrix[i])):
        upper_tri_indices.append((i, j))

print(upper_tri_indices)  # 输出: [(0, 1), (0, 2), (1, 2)]

如果需要同时获取索引和对应元素的值,可以扩展代码:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
upper_tri_with_values = []
for i in range(len(matrix)):
    for j in range(i + 1, len(matrix[i])):
        upper_tri_with_values.append( ((i, j), matrix[i][j]) )

print(upper_tri_with_values)  # 输出: [((0, 1), 2), ((0, 2), 3), ((1, 2), 6)]

逻辑说明

  • 外层循环i遍历矩阵的行索引
  • 内层循环j从i+1开始,确保列索引始终大于行索引,这样就只覆盖上三角区域(排除主对角线和下三角)
  • 每遍历到一个符合条件的位置,就将(i,j)索引元组存入列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:52:33