def create_colour_cycle(
    base_colours, total_colours, inidividual_colour_length=1):
  """Creates a list of colours which cycles through the base set of colours.

  :param base_colours: the base set of colours which will be repeated in
  the returned list of colours.
  :param total_colours: the total number of colours which should appear in
  the returned list of colours.
  :param inidividual_colour_length: the number of LEDs used by an individual
  colour.
  :return: a list of colours containing the set of colours in base_colours
  repeated cyclically.
  """
  return [
    base_colours[
      i / inidividual_colour_length % len(base_colours)
      ] for i in range(0, total_colours)]