title: TypeError: 'int' object is not callable python 2.7
body: <p>I know this question has been asked a lot before, but I can't seem to find any place in my code where I'm binding my list a to an integer value. I've changed all my variable names but to no avail.</p>
  
  <p>Here's the entire code I'm running:</p>
  
  <pre><code>import sys
  def powerset(a):
  # returns a list of all subsets of the list a
  if (len(a) == 0):
      return [[]]
  else:
      allSubsets = [ ]
      for subset in powerset(a[1:]):
          allSubsets += [subset]
          allSubsets += [[a[0]] + subset]
      return allSubsets
  
  if __name__ == '__main__':
    no_test = int(sys.stdin.readline())
    for i in xrange(no_test):
      xor_res = 0
      len = int(sys.stdin.readline())
      numbers_array = map(int,sys.stdin.readline().split())
      numbers = []
      for i in numbers_array:
          numbers.append(i)
      maxset = powerset(numbers)
      for set in maxset:
          if len(set) != 0:
              temp = 0
              for i in set:
                  temp = temp^i
          xor_res = xor_res ^ temp
      print xor_res
  </code></pre>
  
  <p>And this is the error I'm getting:</p>
  
  <pre><code>Traceback (most recent call last):File "solution.py", line 24, in &lt;module&gt;maxset = powerset(numbers)File "solution.py", line 6, in powerset  if (len(a) == 0):TypeError: 'int' object is not callable
  </code></pre>
  
  <p>Can someone please tell me what's going wrong here? 
  Thanks!</p>