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

如何将不同形状NumPy数组的末元素与另一数组首元素合并生成新数组?

实现NumPy数组指定元素拼接的需求

当然可以做到!只需要对两个数组的特定元素做拼接,再重新组合成新数组就搞定了。下面给你两种实用的实现方式:

方法一:用NumPy原生的切片与拼接操作

这种方法直接基于NumPy的数组操作,不用转成列表,适合处理大型数组:

import numpy as np

# 初始化你的示例数组
array1 = np.array(['a','b','c'])
array2 = np.array(['d','e'])

# 把array1的最后一个元素和array2的第一个元素拼接
combined = array1[-1] + array2[0]

# 组合三部分:array1的前n-1个元素、拼接后的元素、array2的剩余元素
final_array = np.concatenate([array1[:-1], [combined], array2[1:]])

print(final_array)
# 输出结果:['a' 'b' 'cd' 'e']

这里的关键操作:

  • array1[:-1] 取出array1中除了最后一个元素的所有内容
  • array2[1:] 取出array2中除了第一个元素的所有内容
  • np.concatenate() 把多个数组片段合并成一个完整的数组

方法二:转成Python列表操作(更直观)

如果你觉得列表的操作逻辑更清晰,可以先把NumPy数组转成普通列表,处理完再转回NumPy数组:

import numpy as np

array1 = np.array(['a','b','c'])
array2 = np.array(['d','e'])

# 转成Python列表
list1 = array1.tolist()
list2 = array2.tolist()

# 把list1的最后一个元素和list2的第一个元素拼接,同时移除list2的第一个元素
list1[-1] += list2.pop(0)

# 合并两个列表后转回NumPy数组
final_array = np.array(list1 + list2)

print(final_array)
# 输出结果:['a' 'b' 'cd' 'e']

小提醒

如果你的业务场景中数组可能存在长度为0的情况(比如array1是空数组,或者array2只有一个元素),记得提前加个长度判断,避免出现索引越界的错误哦!

内容的提问来源于stack exchange,提问作者Fabiano R Beraldo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:30:08