title: Python: list.extend without mutating original variable
body: <p>I am wondering whether there is a way in Python to use <code>.extend</code>, but not change the original list. I'd like the result to look something like this:</p>
  
  <pre><code>&gt;&gt; li = [1, 2, 3, 4]  
  &gt;&gt; li
  [1, 2, 3, 4]  
  &gt;&gt; li.extend([5, 6, 7])
  [1, 2, 3, 4, 5, 6, 7]  
  &gt;&gt; li
  [1, 2, 3, 4]  
  </code></pre>
  
  <p>I tried to google this a few different ways, but I just couldn't find the correct words to describe this. Ruby has something like this where if you actually want to change the original list you'd do something like: <code>li.extend!([5,6,7])</code> otherwise it would just give you the result without mutating the original. Does this same thing exist in Python?</p>
  
  <p>Thanks!</p>