input: Write a function to calculate the dot product of two lists. The function should take two arguments, both of them being lists, and return the dot product of the two lists.
  assert dot_product([1, 2], [3, 4])==11
  assert dot_product([5, 6], [7, 8])==83
  assert dot_product([10, 20], [30, 40])==1100
  assert dot_product([], [])==0
  assert dot_product([1], [1])==1
output: def dot_product(list1, list2):
      return sum(x * y for x, y in zip(list1, list2))