def group(items, number_of_groups):
    """Group items into number of groups

    Takes a countable items and divides it into the desired number of groups.

    :param items:
    :param number_of_groups:
    :return:
    """

    if not items:
        return []

    groups = list()
    step = round(len(items) / number_of_groups)

    # When the amount of columns is zero show at least one
    if step == 0:
        step = 1

    for counter in range(0, len(items), step):
        groups.extend([items[counter:counter + step]])

    return groups