def increase_item_count(a_list, step=1):
    """Return list w/ arithmetically increased count of items.

    Parameters
    ==========

    a_list (list)
        list with items to be arithmetically increased.
    step (positive integers)
        constant by which to increase the item count
        arithmetically.

    Doctests
    ========

    >>> increase_item_count([10, 20, 30])
    [10, 20, 20, 30, 30, 30]
    >>> increase_item_count([10, 20, 30], 2)
    [10, 20, 20, 20, 30, 30, 30, 30, 30]
    """
    ### create a list to store a new population of items
    item_population = []

    ### define a range from 1 to the original number of
    ### items times the step, plus 1;
    ###
    ### such integers represent increasing item counts

    start = 1
    stop = (len(a_list) * step) + 1

    item_counts = range(start, stop, step)

    ### now iterate pairs formed by the items and
    ### item_counts, extending the population by a new
    ### list containing that item n times, where n is the
    ### item count

    for item, item_count in zip(a_list, item_counts):
        item_population.extend([item] * item_count)

    ### finally return the new list
    return item_population
Return list w/ arithmetically increased count of items.

    Parameters
    ==========

    a_list (list)
        list with items to be arithmetically increased.
    step (positive integers)
        constant by which to increase the item count
        arithmetically.

    Doctests
    ========

    >>> increase_item_count([10, 20, 30])
    [10, 20, 20, 30, 30, 30]
    >>> increase_item_count([10, 20, 30], 2)
    [10, 20, 20, 20, 30, 30, 30, 30, 30]
    
nodezator/colorsman/viewer/modes/patterns/particles.py