Comment by Phrodo_00
Yeah and no? Python Lists indeed don't make any sort of array-like guarantee, but they're implemented as a vector/autogrowing-array of python object references (but these objects are not guaranteed to be cache-local).
The implementation defines the underlying data structure as PyObject *ob_item
List access is O(1), which effectively makes them arrays :)