附加二维数组的最佳方法
best method to append a 2D array
我一直在纠结这个问题。
我想创建一个具有一定长度的数组。然后我将用一些二维向量值填充这些数组。
我排除的是
Array = [[[2,4]],[[3,4],[4,5]],[[5,7],[7,7],[8,9]]]
这就是我所拥有的:我尝试了 numpy
append 和 array append 都没有用。当我尝试此 CCList[2].append([[3,4]])
时附加数组,它每隔一个条目附加到列表中。然后我尝试了这个,当我执行这个时,我得到一个空数组,为什么它不附加任何东西...
CCList = [[[]]]*3 # fixed length
# I tried the following, it did not work
#CCList[2].append([3,4])
np.append(CCList[3],[[1, 9]])
print(len(CCList))
print(CCList[2])
print(CCList[3])
print(CCList)
问题在于您创建定长数组的方式。这样做:
CCList = [[] for _ in range(3)]
CCList[0].append([2,4])
CCList[1].append([3,4])
CCList[1].append([4,5])
print(CCList)
#[[[2, 4]], [[3, 4], [4, 5]], []]
我也找到了另一个解决方案:
你只需要确保它在执行 append
之前已填充
if not CCList[1]:
CCList[1] = [[3,4]]
else:
CCList[1].append([2,3])
我一直在纠结这个问题。 我想创建一个具有一定长度的数组。然后我将用一些二维向量值填充这些数组。 我排除的是
Array = [[[2,4]],[[3,4],[4,5]],[[5,7],[7,7],[8,9]]]
这就是我所拥有的:我尝试了 numpy
append 和 array append 都没有用。当我尝试此 CCList[2].append([[3,4]])
时附加数组,它每隔一个条目附加到列表中。然后我尝试了这个,当我执行这个时,我得到一个空数组,为什么它不附加任何东西...
CCList = [[[]]]*3 # fixed length
# I tried the following, it did not work
#CCList[2].append([3,4])
np.append(CCList[3],[[1, 9]])
print(len(CCList))
print(CCList[2])
print(CCList[3])
print(CCList)
问题在于您创建定长数组的方式。这样做:
CCList = [[] for _ in range(3)]
CCList[0].append([2,4])
CCList[1].append([3,4])
CCList[1].append([4,5])
print(CCList)
#[[[2, 4]], [[3, 4], [4, 5]], []]
我也找到了另一个解决方案:
你只需要确保它在执行 append
if not CCList[1]:
CCList[1] = [[3,4]]
else:
CCList[1].append([2,3])