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

如何对两个向量数组执行拼接操作?

嘿,我来帮你搞定两个向量数组的拼接问题!不同编程语言的实现方式略有不同,我给你列几个最常用的场景,你可以按需选用:

1. Python(用NumPy库处理数值向量)

如果你的向量是NumPy数组,那用concatenate、hstack或者vstack都能搞定,关键看你要横向拼接还是纵向拼接:

  • 横向拼接(把两个向量拼成一个更长的一维数组,或者在二维数组的列方向拼接):
import numpy as np

vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])
# 横向拼接成一维数组
combined = np.concatenate([vec1, vec2])
# 或者用hstack效果一样
combined = np.hstack([vec1, vec2])
# 输出:array([1, 2, 3, 4, 5, 6])
  • 纵向拼接(把两个一维向量拼成二维数组的行):
combined = np.vstack([vec1, vec2])
# 输出:
# array([[1, 2, 3],
#        [4, 5, 6]])

注意:如果是多维数组,一定要确保拼接方向上的维度一致,不然会报错哦!

2. JavaScript

JS里处理数组拼接超简单,原生的concat方法或者扩展运算符...都能直接用:

const vec1 = [1, 2, 3];
const vec2 = [4, 5, 6];

// 用concat方法
const combined = vec1.concat(vec2);
// 或者用扩展运算符
const combined = [...vec1, ...vec2];
// 两种方式输出都是:[1, 2, 3, 4, 5, 6]

小提示:如果是多维数组,concat做的是浅拷贝,要是数组里嵌套了对象,得注意引用问题。

3. Java

Java里可以用Apache Commons Math库的工具类,或者手动复制数组:

  • 用Apache Commons Math的ArrayUtils:
import org.apache.commons.math3.util.ArrayUtils;

int[] vec1 = {1, 2, 3};
int[] vec2 = {4, 5, 6};
int[] combined = ArrayUtils.addAll(vec1, vec2);
// 输出:[1, 2, 3, 4, 5, 6]
  • 手动实现(不用第三方库):
int[] vec1 = {1, 2, 3};
int[] vec2 = {4, 5, 6};
int[] combined = new int[vec1.length + vec2.length];

// 复制第一个数组
System.arraycopy(vec1, 0, combined, 0, vec1.length);
// 复制第二个数组到后面
System.arraycopy(vec2, 0, combined, vec1.length, vec2.length);

如果你的向量数组是其他语言的,或者有特殊的维度要求,随时说!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:14:19