input: Write a function to generate combinations of two lists.
  assert generate_combinations([1, 2], ['a', 'b']) == [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')]
  assert generate_combinations([1], [2, 3, 4]) == [(1, 2), (1, 3), (1, 4)]
  assert generate_combinations(['x', 'y'], [1, 2]) == [('x', 1), ('x', 2), ('y', 1), ('y', 2)]
output: def generate_combinations(list1, list2):
      return [(x, y) for x in list1 for y in list2]