code: def basis_functions(degree, knot_vector, spans, knots):
      
      basis = []
      for span, knot in zip(spans, knots):
          basis.append(basis_function(degree, knot_vector, span, knot))
      return basis
docs: Computes the non-vanishing basis functions for a list of parameters.
  
      :param degree: degree, :math:`p`
      :type degree: int
      :param knot_vector: knot vector, :math:`U`
      :type knot_vector: list, tuple
      :param spans: list of knot spans
      :type spans:  list, tuple
      :param knots: list of knots or parameters
      :type knots: list, tuple
      :return: basis functions
      :rtype: list