input: Write a function to calculate the dot product of two lists. The function should take two arguments in the form of two lists and return the dot product. If the given lists are empty then return 0.
  assert dot_product([1, 2], [3, 4])==11
  assert dot_product([2, 3, 4], [5, 6, 7])==56
  assert dot_product([1], [10])==10
  assert dot_product([], [])==0
  assert dot_product([1, 2, 3], [4, 5])==None
  assert dot_product([3, 4], [1, 2, 3])==None
output: def dot_product(list1, list2):
      if len(list1) != len(list2):
          return None
      if not list1:
          return 0
      return sum(x * y for x, y in zip(list1, list2))