title: String concatenation in Python list (of strings) vs. numpy array (of strings)
body: <p>For the purpose of my application, I can declare an array of strings in two ways:</p>
  
  <ol>
  <li><p>As a list <code>strArr1 = [""] * 5</code> or </p></li>
  <li><p>As a numpy array <code>strArr2 = numpy.empty([5], dtype=str)</code></p></li>
  </ol>
  
  <p>However, I see the following difference when I try to concatenate characters to array elements. In the first case, e.g.</p>
  
  <pre><code>strArr1[0] += 'a'
  strArr1[0] += 'b'
  </code></pre>
  
  <p>gives me as expected <code>['ab', '', '', '', '']</code>.</p>
  
  <p>In the second case however,</p>
  
  <pre><code>strArr2[0] += 'a'
  strArr2[0] += 'b'
  </code></pre>
  
  <p>gives me the result <code>['a', '', '', '', '']</code>.</p>
  
  <p>Why is concatenation not working as expected for the elements of numpy array? Also, given that I have the constraint that I must extend the elements of my array one character at a time, could anyone suggest an efficient and pythonic approach?</p>
  
  <p>Thanks.</p>