input: Write a python function to print the cartesian product of two lists.
  assert cartesian_product([1, 2, 3], ['a', 'b', 'c']) == [(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
  assert cartesian_product([1, 2], [3, 4]) == [(1, 3), (1, 4), (2, 3), (2, 4)]
  assert cartesian_product([1], [1, 2, 3]) == [(1, 1), (1, 2), (1, 3)]
output: def cartesian_product(list1, list2):
      return [(a, b) for a in list1 for b in list2]