title: Recursively find all combinations of list
body: <p><strong>Problem statement</strong></p>
  <p>I want to get all possible combinations out of my list (including the empty list).</p>
  <p><em><strong>My code so far is:</strong></em></p>
  <pre><code>def combination(l):
      result = []
      for item in range(len(l)):
          cut_list = l[:item] + l[item + 1:]
          if len(cut_list) &gt; 1:
              combination(cut_list)
          elif len(cut_list) == 1:
              result += cut_list
      return result
  
  
  print(combination([1, 2, 3]))
  </code></pre>
  <p>My output is an empty List</p>
  <pre><code>[]
  </code></pre>
  <p>i want this Output:</p>
  <pre><code>[[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]]
  </code></pre>
  <p>I am pretty sure something with my return is not right.</p>
  <p>Any help is extremely appreciated.</p>