title: Generate list of copies in Python
body: <p>I want to generate list of 100 copies of the same sentence with one char modified in each copy. I am currently learning python and I don't understand why something like this:</p>
  <pre><code>def generate_copy(seq):
      copies = [seq for i in range(100)]
      for copy in copies:
          copy[random.randint(0, len(seq) - 1)] = random.choice(char_list)
          print(''.join(copy))
      return copies
  </code></pre>
  <p>modifies all copies. I want to get something like this: ['AAAB', 'BAAA', 'ZAAA', ...], like they are independent from each other, but I get: ['AAAB', 'ZAAB', 'ZCAB', ...]. How can I do it?</p>