Numpy数组:连接数组和整数

时间:2013-08-20 11:43:27

标签: python arrays numpy integer concatenation

在我的Python程序中,我连接了几个整数和一个数组。如果这样做会很直观:

x,y,z = 1,2,np.array([3,3,3])
np.concatenate((x,y,z))

但是,所有的整数都必须转换为np.arrays:

x,y,z = 1,2,np.array([3,3,3])
np.concatenate((np.array([x]),np.array([y]),z))

特别是如果您有许多变量,这种手动转换很繁琐。问题是x和y是0维阵列,而z是1维。有没有办法在没有转换的情况下进行连接?

1 个答案:

答案 0 :(得分:3)

它们只需要是序列对象,而不一定是numpy数组:

x,y,z = 1,2,np.array([3,3,3])
np.concatenate(([x],[y],z))
# array([1, 2, 3, 4, 5])

Numpy也有一个insert函数可以执行此操作:

x,y,z = 1,2,np.array([3,3,3])
np.insert(z, [0,0], [x, y])

我要补充一点,如果您只是尝试将整数添加到列表中,则不需要numpy来执行此操作:

x,y,z = 1,2,[3,3,3]
z = [x] + [y] + z

x,y,z = 1,2,[3,3,3]
[x, y] + z

x,y,z = 1,2,[3,3,3]
z.insert(0, y)
z.insert(0, x)