我有3D列表
ll = [
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10,11,12]], [[6, 7, 8],[12, 13, 14]], [[10, 20, 30], [40, 50, 60], [70, 80, 90]]
]
我希望成为
ll = [[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10,11,12]], [[6, 7, 8],[12, 13, 14], [0, 0, 0], [0, 0, 0]], [[10, 20, 30], [40, 50, 60], [70, 80, 90], [0,0,0]]]
以便创建a1 = np.array(l1)
a1
array([
[[1,2,3], [4,5,6], [7,8,9], [10,11,12]]
[[6,7,8], [12,13,14], [0,0,0], [0,0,0]]
[[10, 20, 30], [40, 50, 60], [70, 80, 90], [0,0,0]]
])
我已经阅读了以下内容,但它们适用于2D,但我无法用于3D。
迭代列表中的所有元素,这些元素也是列表并获得最大长度。然后将零添加到每个没有最大长度的“子列表”。
max = 0
for i in range(0, len(ll)):
if len(ll[i]) > max:
max = len(ll[i])
for i in range(0, len(ll)):
while len(ll[i]) < max:
ll[i].append([0, 0, 0])