Introduction to NumPy
Multidimensional heterogeneous arrays can be represented in Python using lists. A list is a 1D array, a list of lists is a 2D array, a list of lists of lists is a 3D array, and so on. However, this solution is complex, difficult to use, and extremely slow.
One of the primary design goals of the NumPy Python library was to introduce high-performant and scalable structured arrays and vectorized computations.
Most data structures and operations in NumPy are implemented in C/C++, which guarantees their superior speed.