input: Write a function to generate all combinations of a list of numbers.
  assert all_combinations([1, 2, 3]) == [[], [3], [2], [2, 3], [1], [1, 3], [1, 2], [1, 2, 3]]
  assert all_combinations([]) == []
  assert all_combinations([4]) == [[4]]
output: def all_combinations(lst):
      from itertools import combinations
      result = []
      for i in range(len(lst) + 1):
          result.extend([list(comb) for comb in combinations(lst, i)])
      return result