def select_equal(list_lists, select_amount):
    """
    Select equal elements from a list of lists.

    Parameters
    ----------
    list_lists: list
        A list of lists of elements.  The lists could be unequal in size.
    select_amount: int
        An integer of samples to take.

    Examples
    --------
    list_lists is of form [[a, b, c] [1, 2, 3] [x, y].  If select_amount is 5,
    then the function will return [a, 1, x, b, 2].

    Returns
    -------
    list
        A list of sampled elements

    """
    pos = [0] * len(list_lists)
    empty = [0] * len(list_lists)
    output_list = []
    iterations = 0
    while len(output_list) < select_amount and sum(empty) < len(list_lists):
        i = iterations % len(list_lists)
        j = pos[i]
        if j < len(list_lists[i]):
            output_list.append(list_lists[i][j])
            pos[i] += 1
        else:
            empty[i] = 1
        iterations = i + 1
    return output_list