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 to a.append(x)
.
I'm unsure if "equivalent" there means "equivalent in functionality" or "equivalent in time complexity". Does anyone know?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…