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

Python数组拆分:按递增元素切分为两个子数组的实现方法

解决数组逐步拆分的方法

纯Python原生实现

不用依赖额外库就能搞定,直接通过切片循环即可:

a = [0,1,2,3]
# 循环从第1个元素后到倒数第1个元素后的位置拆分
for i in range(1, len(a)):
    left_sub = a[:i]
    right_sub = a[i:]
    print(left_sub, right_sub)

运行后会输出你要的结果:

[0] [1,2,3]
[0,1] [2,3]
[0,1,2] [3]

如果需要把所有拆分结果存成列表,用列表推导式更简洁:

a = [0,1,2,3]
split_results = [(a[:i], a[i:]) for i in range(1, len(a))]

NumPy实现(适配你常用的np.split)

np.split完全能处理这个场景,只要循环指定不同的分割索引就行:

import numpy as np

a = np.array([0,1,2,3])
# 分割索引从1到数组长度减1,每次切分成两部分
for split_idx in range(1, len(a)):
    left_arr, right_arr = np.split(a, [split_idx])
    print(left_arr, right_arr)

这里的关键是np.split的第二个参数传[split_idx],表示在索引split_idx的位置将数组切分为两部分。循环遍历所有需要的分割点,就能得到所有预期的拆分结果。

同样,要存储所有结果的话:

import numpy as np

a = np.array([0,1,2,3])
split_results = [np.split(a, [i]) for i in range(1, len(a))]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 21:10:46