also, the data in an array must be homogeneous. if your element types are list and int, he is not homogeneous. if you changed the dtype to py_object it would work because they would be of the homogeneous type object. he is the fundamental distinction -- lists are inhomogeneous, arrays are homogeneous. if you want to store inhomogeneous data types, use a list.