input: Write a python function to generate all combinations of two lists.
  assert generate_combinations([1, 2, 3], [4, 5, 6]) == [(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]
  assert generate_combinations([7, 8], [9, 10]) == [(7, 9), (7, 10), (8, 9), (8, 10)]
  assert generate_combinations(['a', 'b'], [1, 2]) == [('a', 1), ('a', 2), ('b', 1), ('b', 2)]
output: def generate_combinations(list1, list2):
      return [(a, b) for a in list1 for b in list2]