from typing import List


def _get_redundant_cols(variance: List[float], fp_cols: List[str], threshold: float) -> List[str]:
    """
    Helper function to get all columns from `fp_cols`
    where the belonging `variance` for this column is not higher than `threshold`.

    Parameters
    ----------
    variance : List[float]
        List of float values representing the variances
    fp_cols : List[str]
        List of strings representing the fingerprint column names
    threshold : float
        The fingerprint variance threshold

    Returns
    -------
    List[str]
        List of fingerprint column names for which the variance is not higher than `threshold`
    """

    redundant_cols = []
    for ix, var in enumerate(variance):
        if var <= threshold:
            redundant_cols.append(fp_cols[ix])
    return redundant_cols