input: Write a function to calculate the dot product of two lists. The function should take two arguments, both lists, and return the dot product of the two lists. The dot product is calculated by multiplying corresponding elements of the two lists and summing up the results.
  
  def dot_product(list1, list2):
    product = 0
    for i in range(len(list1)):
      product += (list1[i] * list2[i])
    return product
  
  assert dot_product([1, 2], [3, 4]) == 11
  assert dot_product([5, 6], [7, 8]) == 83
  assert dot_product([1, 0], [0, 1]) == 0
  assert dot_product([2, 3], [4, 5]) == 23
  assert dot_product([], []) == 0
output: def dot_product(list1, list2):
    product = 0
    for i in range(len(list1)):
      product += (list1[i] * list2[i])
    return product