The list model
A list is an ordered, mutable sequence of references. Order is preserved, duplicates are allowed, and elements can be of mixed types (although mixed-type lists are usually a code smell).
Indexing and length both work in O(1). Appending to the end is also O(1) amortized, which is why append is the workhorse of list construction. Inserting in the middle requires shifting everything to the right, which is O(n).
Lists in Python feel like dynamic arrays in any language. The behavior, the costs, and the syntax are all close enough to what you would expect that the only thing to internalize is that the bracket form is the standard syntax.