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

Python多维数组迭代逐行删除首索引元素的实现方法

实现方案

你需要的最终结果是每行长度不等的不规则序列,无法用标准numpy数组存储(numpy要求同维度所有元素长度一致),因此最终输出为嵌套Python列表,实现代码如下:

通用实现(适配任意行内容的原始数组)

import numpy as np

# 原始numpy数组定义
Values = np.array([[100,123,135.3,139.05,156.08,163.88,173.72],
                  [100,123,135.3,139.05,156.08,163.88,173.72],
                  [100,123,135.3,139.05,156.08,163.88,173.72],
                  [100,123,135.3,139.05,156.08,163.88,173.72],
                  [100,123,135.3,139.05,156.08,163.88,173.72],
                  [100,123,135.3,139.05,156.08,163.88,173.72],
                  [100,123,135.3,139.05,156.08,163.88,173.72]])

# 核心逻辑:按行索引切片,第i行(0索引)取从i位置开始的后续元素
result = [row[i:].tolist() for i, row in enumerate(Values)]

简化实现(适配所有行内容相同的场景)

如果你的原始数组所有行内容完全一致,可以直接复用第一行切片,性能更高:

first_row = Values[0].tolist()
result = [first_row[i:] for i in range(len(first_row))]

验证输出

执行打印即可得到你需要的结果:

for row in result:
    print(row)

输出结果:

[100, 123, 135.3, 139.05, 156.08, 163.88, 173.72]
[123, 135.3, 139.05, 156.08, 163.88, 173.72]
[135.3, 139.05, 156.08, 163.88, 173.72]
[139.05, 156.08, 163.88, 173.72]
[156.08, 163.88, 173.72]
[163.88, 173.72]
[173.72]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:27:00