title: Python list - del, insert, no. of assignments and time complexity
body: <p>I'm wondering about how many assignments python makes during an insert on an arbitrary index and how many assignments is being made when deleting the first element del(list[0]). I'm a little bit confused since the time complexity for these 2 operations are O(n), n being the number of elements in the list, but when thinking about it I get it to be O(n-1).</p>
  
  <p><strong>"Deleting an element in a list requires shifting all the following elements, and the same goes for insertion, so that these two operations are O(i) where i is the number of items after the item you deleted/inserted".</strong></p>
  
  <p>Does this mean that if I have a list containing 99999 elements and I insert an element at index 20000 (spot 20001), python shifts the 79999 following elements i.e 79999 assignments? Or does the actual insertion also require an assignment i.e its a total of 80000 assignments?</p>
  
  <p>The same question goes for deletion. If I have a list containing 100000 elements and I delete the first, does python need 99999 assignments for the shifts or 100000?</p>