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

如何用偶数按行填充12行15列矩阵?当前方法生成连续数

解决按行填充偶数矩阵的问题

我懂你遇到的问题了——你想要生成一个按行填充连续偶数的矩阵(比如2行5列的话,目标是[[2,4,6,8,10],[12,14,16,18,20]]),但目前的命令生成的却是从2开始的连续整数(比如[[2,3,4,5,6],[7,8,9,10,11]]),完全没按偶数间隔来。咱们就以你举的2行5列例子,给你几个实用的解决办法:

方法1:原生Python(无需额外库)

如果用纯Python实现,用列表推导式就能轻松搞定:

rows = 2
cols = 5
# 计算每个位置对应的偶数:第n个位置的数是2*(n+1),n从0开始
matrix = [[2 * (i * cols + j + 1) for j in range(cols)] for i in range(rows)]
print(matrix)

运行后输出正好是你要的结果:

[[2, 4, 6, 8, 10], [12, 14, 16, 18, 20]]

原理很简单:i * cols + j +1 算出当前元素是第几个数(从1开始),乘以2就得到对应的连续偶数,再按行拆分即可。

方法2:用NumPy(更简洁高效)

如果经常处理矩阵,用NumPy会更省心,一行核心代码就能搞定:

import numpy as np
rows = 2
cols = 5
# 生成从2开始、步长为2的偶数序列,再重塑成指定行列的矩阵
matrix = np.arange(2, 2 * rows * cols + 1, 2).reshape(rows, cols)
print(matrix)

输出结果:

[[ 2  4  6  8 10]
 [12 14 16 18 20]]

这里np.arange(2, 2*rows*cols+1, 2) 直接生成了所有需要的偶数,reshape则把一维序列转换成你要的矩阵形状。

方法3:Bash命令行实现

如果是在终端里用bash脚本生成,循环就能解决:

rows=2
cols=5
current_num=2
for ((i=0; i<rows; i++)); do
    row_content=""
    for ((j=0; j<cols; j++)); do
        row_content="$row_content $current_num"
        current_num=$((current_num + 2))
    done
    # 去掉开头的空格,包裹成行的格式
    echo "[${row_content:1}]"
done

执行后会输出:

[2 4 6 8 10]
[12 14 16 18 20]

核心思路总结

不管用哪种工具,问题的关键都是:先生成步长为2的连续偶数序列,再将这个序列拆分成你需要的行列数。之前的错误本质是生成了步长为1的整数序列,只要把步长改成2,再重塑矩阵就能得到你想要的结果。

内容的提问来源于stack exchange,提问作者A.JO

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:32:44