list 叠加 与 vstack 与 hstack 应用
对于有二个 三维的点集 合并成一个list,可以使用List的运算符重载方式 以及 numpy 的 vstack
- vstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组。按列顺序把数组给堆叠起来
- hstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组。按行顺序把数组给堆叠起来
代码实例:
List的运算符重载处理方式
list_data = [[0,1,2], [1,2,3], [2,3,4]]
list_data_2 = [[0,1,2], [1,2,3], [2,3,4]]
list_data + list_data_2
结果:
[[0, 1, 2], [1, 2, 3], [2, 3, 4], [0, 1, 2], [1, 2, 3], [2, 3, 4]]
使用 numpy 中的 vstack 处理
import numpy as np
list_data = [[0,1,2], [1,2,3], [2,3,4]]
list_data_2 = [[0,1,2], [1,2,3], [2,3,4]]
np.vstack([np.array(list_data), np.array(list_data_2)])
结果:
[[0 1 2]
[1 2 3]
[2 3 4]
[0 1 2]
[1 2 3]
[2 3 4]]
import numpy as np
list_data = [[0,1,2], [1,2,3], [2,3,4]]
list_data_2 = [[0,1,2], [1,2,3], [2,3,4]]
np.array(list_data)
np.array(list_data_2)
np.hstack([np.array(list_data), np.array(list_data_2)])
结果:
array([[0, 1, 2],
[1, 2, 3],
[2, 3, 4]])
array([[0, 1, 2],
[1, 2, 3],
[2, 3, 4]])
实际是 按行顺序 把数组给堆叠起来
array([[0, 1, 2, 0, 1, 2],
[1, 2, 3, 1, 2, 3],
[2, 3, 4, 2, 3, 4]])