python列表的合并

Python多个数组合并(拼接)为一个数组

extend方法:

a = [1,2,3,4,7,5,6]
b = ['a','b']
c = ['h',12,'c']
a.extend(b)
a.extend(c)
print(a)#结果:[1, 2, 3, 4, 7, 5, 6, 'a', 'b', 'h', 12, 'c']

加号连接方法:

a = [1,2,3,4,7,5,6]
b = ['a','b']
c = ['h',12,'c']d = a + b +c
print(d)#结果:[1, 2, 3, 4, 7, 5, 6, 'a', 'b', 'h', 12, 'c']

flatten()方法是numpy中array数组的方法(该方法只能数组元素相同)

from numpy import array
a = [1,2,3]
b = ['a','b','c']
c = ['h',12,'k']
e = [a,b,c]
e = array(e)
print(e.flatten())#结果:['1' '2' '3' 'a' 'b' 'c' 'h' '12' 'k']

列表表达式:

使用前得把所有数组放在一个数组中

a = [1,2,3,4] 
b = ['a','b','c']
c = ['h',12,'k']
e = [a,b,c]
e = [y for x in e for y in x]
print(e)结果:[1, 2, 3, 4, 'a', 'b', 'c', 'h', 12, 'k']

注意:“numpy关于Python数组拼接的方法有三种:dstack、hstack和vstack

a = np.array([1, 2])
b = np.array([3, 4])
print(np.dstack((a,b)))

结果:[[[1 3]
  [2 4]]]
a = np.array([1, 2])
b = np.array([3, 4])
print(np.hstack((a,b)))
结果:[1 2 3 4]
a = np.array([1, 2])
b = np.array([3, 4])
print(np.vstack((a,b)))
结果:[[1 2]
 [3 4]]
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.concatenate((a, b)) # 将a和b数组连接起来,得到c数组
print(c) # 输出 [1 2 3 4 5 6]

np.resize()改变数组大小 

a = np.array([1, 2, 3])
a.resize((5,)) # 将a数组的大小改变为5,多余的位置用0填充
a[3:] = [4, 5, 6] # 添加元素4、5、6
print(a) # 输出 [1 2 3 4 5 6]

 numpy.insert函数在指定位置插入元素,从而实现在数组中添加元素的效果

a = np.array([1, 2, 3])
b = np.insert(a, 1, [4, 5]) # 在a数组的位置1插入元素4、5
print(b) # 输出 [1 4 5 2 3]

vstack不想dstack,只是将数组堆叠到一起,没有深度的问题。

猜你喜欢

转载自blog.csdn.net/chehec2010/article/details/130854434