Pythonにはバイナリサーチ(二分探索)を簡単に使えるbisectというライブラリがあります。 標準ライブラリなので、インストールする必要はありません。 bisect.bisect ソートされたリストに対して指定した値の挿入ポイントを探します。 例 import bisect numbers = [1, 3, 5, 7] number = 4 print(bisect.bisect(numbers, number)) 出力 2 bisect.bisect_left 値がリストにある場合、その値の左側のインデックスを探します。 例 import bisect numbers = [1, 3, …