This is wrong, the Python list supports random access and random access inserts and removals. It's a dynamic size array underneath, and contiguous, so it's pretty much the same as a std::vector of Python objects.
Also notably a Python list does NOT have an efficent pop operation at both ends, only on the far end.
Also notably a Python list does NOT have an efficent pop operation at both ends, only on the far end.
Doc: https://docs.python.org/3/library/stdtypes.html#list