Is there a difference between append
and insert
at the end of a list? Is insert
at the end of a list a constant time operation?
nums = [1, 2, 3]
nums.append(4) # Time complexity: O(1)
nums.insert(len(nums), 5) # Time complexity: O(?)
According to the TimeComplexity article in the Python Wiki, the average case for append
is O(1), while the average case for insert
is O(n). However, in the Python tutorial, it is mentioned that:
... and
a.insert(len(a), x)
is equivalent toa.append(x)
.
I'm unsure if "equivalent" there means "equivalent in functionality" or "equivalent in time complexity". Does anyone know?