def get_target_f0_list(f0_list: list, rapid_f0_change_indices: list, adjusted_widths: list):
    """補正に用いる基準値(平均値)を計算する。

    中心となる2点からwidth分だけ前後の両端の点の平均値を、補正に用いる値とする。
    その値をリストにして返す。
    """
    # 念のため
    assert len(rapid_f0_change_indices) == len(adjusted_widths)

    # 補正の基準にするf0の値
    target_f0_list = []

    # 急峻な変化がある場所について、前から順に平均値を計算していく。
    for f0_idx, width in zip(rapid_f0_change_indices, adjusted_widths):
        f0_left = f0_list[f0_idx - width]
        f0_right = f0_list[f0_idx + width + 1]
        target_f0 = (f0_left + f0_right) / 2
        target_f0_list.append(target_f0)

    # こんな感じのリストを返す → [(f0_idx, width), ...]
    return target_f0_list