input: Write a function to calculate the dot product of two lists. The function should accept two arguments, each being a list of numbers, and return their dot product. If the lists are empty, return 0.
  assert dot_product([],[])==0
  assert dot_product([1,2],[3,4])==11
  assert dot_product([5,6],[7,8])==83
  assert dot_product([1],[1])==1
  assert dot_product([0,0],[0,0])==0
output: def dot_product(list1, list2):
      if not list1 or not list2:
          return 0
      return sum(x * y for x, y in zip(list1, list2))