title: Slice nested lists
body: <p>It is quite a silly question, but I am really confused.
  Please have a look my code:</p>
  
  <pre><code>&gt;&gt;&gt; my_list = [1, 2, 3]
  &gt;&gt;&gt; my_list_new = my_list[:]
  &gt;&gt;&gt; my_list_new[0] = 100
  &gt;&gt;&gt; my_list_new
  [100, 2, 3]
  &gt;&gt;&gt; my_list
  [1, 2, 3]
  </code></pre>
  
  <p>So it works as it should. I copied <code>my_list</code>. When I changed the <code>my_list_new</code> - only one list changed.</p>
  
  <p>Now look here:</p>
  
  <pre><code>&gt;&gt;&gt; my_list2 = [[1, 2, 3], [4, 5, 6]]
  &gt;&gt;&gt; my_list_new2 = my_list2[:]
  &gt;&gt;&gt; my_list_new2[0][0] = 100
  &gt;&gt;&gt; my_list_new2
  [[100, 2, 3], [4, 5, 6]]
  &gt;&gt;&gt; my_list2
  [[100, 2, 3], [4, 5, 6]]
  </code></pre>
  
  <p>As you can see I changed <code>my_list_new2</code>, but both lists changed. Is it normal Python behaviour for nested lists? How to avoid it?</p>