def enum_chargelst(chargelst_lin):
    """
    Make a list of integers from 0 to 2^nsingle having nesting of chargelst_lin.

    Parameters
    ----------
    chargelst_lin : list of lists
        Constructed by construct_chargelst(nsingle).

    Returns
    -------
    chargelst : list of lists
    """
    ncharge = len(chargelst_lin)
    chargelst = [[] for i in range(ncharge)]
    counter1 = 0
    for j1 in range(ncharge):
        counter2 = counter1 + len(chargelst_lin[j1])
        chargelst[j1] = list(range(counter1, counter2))
        counter1 = counter2
    return chargelst
