In the latest version of numpy, this runs without an error, although may or may not be what you want:

In [1]: np.array([[1,2],[[1,2],[3,4]]])
array([[1, 2],
       [list([1, 2]), list([3, 4])]], dtype=object)

Here the result is a 2x2 array, where some elements are numbers and others are lists.

On Wed, 26 Dec 2018 at 06:23 Mark Alexander Mikofski <> wrote:
I believe numpy arrays must be rectangular, yours is jagged, instead try

>>> x3d = np.array([[[1, 2], [1, 2], [3, 4]]])
>>> x3d.shape
(1, 3, 2)

Note: 3 opening brackets, yours has 2
And single brackets around the 3 innermost arrays, yours has single brackets for the 1st, and double brackets around the 2nd and 3rd

On Tue, Dec 25, 2018, 6:20 PM Jeff < wrote:

sorry newbe to numpy.

I want to define a three-dim array.
I know this works:

 >>> np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
array([[[1, 2],
         [3, 4]],

        [[5, 6],
         [7, 8]]])

But can you tell why this doesnt work?

 >>> np.array([[1,2],[[1,2],[3,4]]])
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
ValueError: setting an array element with a sequence.

Thank you.
NumPy-Discussion mailing list
NumPy-Discussion mailing list