how are lists implemented in python?
Python's list objects are really variable-length arrays, not Lisp-style linked lists. The implementation uses a contiguous array of references to other objects, and keeps a pointer to this array and the array's length in a list head structure. ... When items are appended or inserted, the array of references is resized.