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

如何从np.split()的拆分结果中移除指定数组片段?

解决方案

用np.split()拆分数组后,直接筛选偶数索引的片段即可,无需复杂循环。步骤如下:

  1. 将原数组转换为numpy数组(np.split()仅支持numpy数组)。
  2. 使用np.split()按切割位置数组拆分原数组。
  3. 提取拆分结果中偶数索引(从0开始)的片段,转换为列表格式(如果需要)。

示例代码

import numpy as np

# 原数组
a = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15])
# 切割位置数组
cut_array = [3,6,10,13]

# 按切割位置拆分数组
split_segments = np.split(a, cut_array)
# 保留偶数索引的片段(跳过每两个切割位置之间的部分)
result = [seg.tolist() for seg in split_segments[::2]]

print(result)
# 输出: [[1, 2, 3], [7, 8, 9, 10], [14, 15]]

边界情况处理

如果切割位置包含数组开头(0)或结尾(数组长度),可能会产生空片段,可通过过滤去除:

# 过滤空片段
result = [seg.tolist() for seg in split_segments[::2] if len(seg) > 0]

比如切割位置为[0,3,15]时,原拆分结果为[[], [1,2,3], [4,5,...,15], []],过滤后得到[[1,2,3], [4,5,...,15]]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:50:14