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

如何使用numpy.pad为1维numpy数组生成可变填充的无循环2维滑动矩阵

实现代码

完全满足约束要求:无任何显式循环、未硬编码k值、核心补零逻辑通过numpy.pad实现,支持任意合法输入的arr和k值。

import numpy as np

# 可自定义输入参数
arr = [1, 2, 3, 4]
k = 4

arr_np = np.array(arr)
n = arr_np.size

# 核心补零逻辑,使用numpy.pad给数组前后各补k-1个零
padded_arr = np.pad(arr_np, pad_width=(k-1, k-1), mode='constant', constant_values=0)
# 向量化生成滑动窗口,无循环构造二维数组
result = np.lib.stride_tricks.sliding_window_view(padded_arr, window_shape=n + k - 1)
# 翻转行顺序匹配输出要求
result = np.flip(result, axis=0)

# 输出验证
print(result)

输出结果

和要求的示例完全一致:

[[1 2 3 4 0 0 0]
 [0 1 2 3 4 0 0]
 [0 0 1 2 3 4 0]
 [0 0 0 1 2 3 4]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:45:03