def organism_filter(organism_list, *conditions):
    """
    Selects organisms from organism list according to a set of conditions.
    Each condition should be a function that receives an Organism object as
    input and returns a boolean as output.

    Example:
    organism_filter(
        population_dict['prey1']['organisms'],
        lambda organism: (organism.alive)
    """
    remaining_list = organism_list
    for condition in conditions:
        assert callable(condition)
        remaining_list = filter(condition, remaining_list)
    return list(remaining_list)