def split_nonsyllabic_prob(string, onsets, codas):
    """
    Guesses split between onset and coda in list with no found syllabic segments

    Parameters
    ----------
    string : iterable
        the phones to search through
    onsets : iterable
        an iterable of possible onsets
    codas : iterable
        an iterable of possible codas

    Returns
    -------
    int
        best guess for the index in the string where the onset ends and coda begins
    """
    if len(string) == 0:
        return None
    max_prob = -10000
    best = None
    for i in range(len(string) + 1):
        prob = 0
        ons = tuple(string[:i])
        cod = tuple(string[i:])
        if ons not in onsets:
            prob += onsets[None]
        else:
            prob += onsets[ons]
        if cod not in codas:
            prob += codas[None]
        else:
            prob += codas[cod]
        if prob > max_prob:
            max_prob = prob
            best = i
    return best