input: Write a python function to create a class for vector operations that includes addition and dot product methods.
  assert Vector([1, 2, 3]).add(Vector([4, 5, 6])).__str__() == '[5, 7, 9]'
  assert Vector([1, 2, 3]).add(Vector([0, 0, 0])).__str__() == '[1, 2, 3]'
  assert Vector([1, 2, 3]).dot(Vector([4, 5, 6])) == 32
  assert Vector([2, 0, -1]).dot(Vector([1, -1, 2])) == 0
output: class Vector:
      def __init__(self, values):
          self.values = values
  
      def add(self, other):
          return Vector([a + b for a, b in zip(self.values, other.values)])
  
      def dot(self, other):
          return sum(a * b for a, b in zip(self.values, other.values))
  
      def __str__(self):
          return str(self.values)