def remove_redun_hits_from_within_pos_hit_list(l):
    """Take a list of hit sequence ID-Evalue tuples and return a modified list
    with redundant items removed. (if two items have the same ID, remove the
    one with the higher E-value)
    """
    # Check that the E-values are floats.
    assert isinstance(l[0][1], float)

    # Sort the list by ascending E-value.
    l = sorted(l, key=lambda x: x[1])

    # Compile a new list of sequences.
    new_l = []
    id_list = []
    for i in l:
        if i[0] not in id_list:
            id_list.append(i[0])
            new_l.append(i)

    return new_l