bisect.insort関数で要素を挿入する

bisect.insort関数を使うと、シーケンスが昇順でソートされた状態を保ったまま、要素を挿入することができる。

(実験)

>>> import bisect
>>> pc = []
>>> bisect.insort(pc, 'PC-100')
>>> pc
['PC-100']
>>> bisect.insort(pc, 'Macintosh plus')
>>> pc
['Macintosh plus', 'PC-100']
>>> bisect.insort(pc, 'Macintosh II')
>>> pc
['Macintosh II', 'Macintosh plus', 'PC-100']
>>> bisect.insort(pc, 'Macintosh SE/30')
>>> pc
['Macintosh II', 'Macintosh SE/30', 'Macintosh plus', 'PC-100']
>>> bisect.insort(pc, 'PC-9801')
>>> pc
['Macintosh II', 'Macintosh SE/30', 'Macintosh plus', 'PC-100', 'PC-9801']

参考文献

Fluent Python