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

如何在NumPy中直接生成由连续数对组成的二维数组

实现方式

有两种更简洁的内置方案可以直接生成目标数组:

  1. 高版本NumPy推荐方案(v1.20.0及以上)
    用内置的滑动窗口视图函数sliding_window_view,一行代码就能实现,而且返回的是原数组的视图,没有额外内存开销:
import numpy as np
arr = np.lib.stride_tricks.sliding_window_view(np.arange(1, 11), window_shape=2)

直接输出就是你要的结构:

array([[ 1,  2],
       [ 2,  3],
       [ 3,  4],
       [ 4,  5],
       [ 5,  6],
       [ 6,  7],
       [ 7,  8],
       [ 8,  9],
       [ 9, 10]])
  1. 兼容旧版本的广播方案
    如果你的NumPy版本低于1.20.0,用广播机制也可以一行实现,不需要单独生成两个数组再拼接:
import numpy as np
arr = np.arange(1, 10)[:, np.newaxis] + [0, 1]

原理是先把[1,2,...,9]转成9行1列的二维数组,和长度为2的行向量相加时自动触发广播,每一行都会依次加0和1,直接得到目标结构。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:21:01