title: Is it faster to truncate a list by making it equal to a slice, or by using del?
body: <p>Suppose I have a <code>list</code> <code>TruncList</code> with some number of elements greater than <code>n</code>. If I want to remove <code>n</code> elements from the end of that list, is it faster to <strong>redefine the list as a slice of itself</strong> preserving the desired elements, as by <code>TruncList = TruncList[:-n]</code>, or to <strong>delete the slice of unwanted elements</strong> from the list, as by <code>del TruncList[-n:]</code>?</p>
  
  <p>Does the answer change if I was removing the <em>first</em> <code>n</code> elements from <code>TruncList</code> instead, as in <code>TruncList = TruncList[n:]</code> versus <code>del TruncList[:n]</code>?</p>
  
  <p>Besides speed, is one of these methods more Pythonic than the other?</p>
  
  <p>I would imagine that the redefinition method might be slower, since it iterates through <code>TruncList</code> and then reassigns it, while <code>del</code> truncates the list in place, but I'm not sure if either of these are the case.</p>
  
  <p>I would also suppose <code>del</code> is the better route, because it seems like the natural use of the function.</p>