The rationale for the change allowing that construction was twofold: it's
easier to understand what has gone wrong when seeing the `list`s in the
repr than it was from the cryptic error message; and there were some jagged
cases that already succeeded in this way, and it was less confusing to be
consistent.

I agree that the behavior is not terribly useful, and object arrays
constructed containing lists are quite possibly something we should warn
about.

Eric

On Thu, Dec 27, 2018, 2:22 AM Benjamin Root <ben.v.r...@gmail.com wrote:

> Ewww, kinda wish that would be an error... It would be too easy for a typo
> to get accepted this way.
>
> On Wed, Dec 26, 2018 at 1:59 AM Eric Wieser <wieser.eric+nu...@gmail.com>
> wrote:
>
>> 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]]])
>> Out[1]:
>> 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 <
>> mikof...@berkeley.edu> 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 <je...@vodafonemail.de wrote:
>>>
>>>> hello,
>>>>
>>>> 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@python.org
>>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>>
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion@python.org
>>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@python.org
>> https://mail.python.org/mailman/listinfo/numpy-discussion
>>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to