title: Any idea why python3 is not treating False as bool?
body: <p>Any idea why python3 is not treating False as bool?
  I want to move all the zeros to the end of the list.</p>
  
  <pre><code>def move_zeros(array):
  
      for i in array:
          if type(i) is not bool:
              if i == 0:
                  array.append(int(i)) # catching non bool values that are zeros, adding at the end of the list
                  array.remove(i) # removing original
          elif type(i) is bool:
              pass #Here it catches False from the input, it should do nothing but somehow it is moved to the end of the list as zero in the output.
  
      return array
  
  
  print(move_zeros(["a", 0, 0, "b", None, "c", "d", 0, 1,
                    False, 0, 1, 0, 3, [], 0, 1, 9, 0, 0, {}, 0, 0, 9]))
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>['a', 'b', None, 'c', 'd', 1, 1, 3, [], 1, 9, {}, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
  </code></pre>