title: Efficient way to add elements to a tuple
body: <p>I want to add elements to a tuple. I found 2 ways to do it. <a href="https://stackoverflow.com/a/16730367/3337089">This</a> and <a href="https://stackoverflow.com/a/1380875/3337089">this</a> answers say add two tuples. It will create a new tuple</p>
  
  <pre><code>a = (1,2,3)
  b = a + (5,)
  </code></pre>
  
  <p>Where as <a href="https://stackoverflow.com/a/2309334/3337089">this</a> says, convert the tuple to list, add the element and then convert it back to tuple</p>
  
  <pre><code>a = (1,2,3)
  tmp = list(a)
  tmp.insert(3, 'foobar')
  b = tuple(tmp)
  </code></pre>
  
  <p>Which among these two is efficient in terms of memory and performance?<br>
  Also, suppose I want to insert an element in the middle of a tuple, is that possible using the first method?<br>
  Thanks!</p>