Я наткнулся на следующую странность в numpy, которая может быть или не быть ошибкой:
import numpy as np
dt = np.dtype([('tuple', (int, 2))])
a = np.zeros(3, dt)
type(a['tuple'][0]) # ndarray
type(a[0]['tuple']) # ndarray
a['tuple'][0] = (1,2) # ok
a[0]['tuple'] = (1,2) # ValueError: shape-mismatch on array construction
Я бы ожидал, что оба варианта ниже работают. Мнения?