For example, ArrayLists in Java have a resizing factor of 2. When the array that the ArrayList is wrapped around runs out of space, all the elements of that array are transferred to a new array that is 2 times the size of the original array.
Since Python lists/arrays are naturally dynamic, what are their resizing factor? Or do they use some other method of scaling? If so, what's that method? What's its asymptotic runtime (big O)?
For CPython, in particular, the overallocation during resize is implemented in objects/listobject.c. It is described as
When the list needs to be grown, it is grown to be approximately 112.5% of the necessary size. In particular, the actual size is
new_size + new_size >> 3 + (newsize < 9 ? 3 : 6).