初始化大小可变的二维数组

时间:2018-11-20 22:07:40

标签: python multidimensional-array

使用以下方法:

myArray = [0,1] * NUM_ITEMS

所需结果(二维数组):

[[0,1],[0,1],[0,1]...]

实际结果(扩展的1d数组):

[0,1,0,1,0,1...]

如何最好不使用numpy来获得所需的结果?

2 个答案:

答案 0 :(得分:5)

列表理解应该可以解决问题:

>>> NUM_ITEMS = 5
>>> my_array = [[0, 1] for _ in range(NUM_ITEMS)]
>>> my_array
[[0, 1], [0, 1], [0, 1], [0, 1], [0, 1]]

答案 1 :(得分:1)

自从您标记了数组以来,这是使用numpy.tile的另一种numpy解决方案。

>>> import numpy as np
>>> NUM_ITEMS = 10
>>> np.tile([0, 1], (NUM_ITEMS, 1))
array([[0, 1],
       [0, 1],
       [0, 1],
       [0, 1],
       [0, 1],
       [0, 1],
       [0, 1],
       [0, 1],
       [0, 1],
       [0, 1]])