bisect

Python 模組介紹 - bisect

談到插入(insert)元素到已排序串列(list) ,最暴力的方法就是每次插入元素後直接排序:

>>> a = [1, 2, 3, 4]
>>> a.insert(0, 5)
>>> a
[5, 1, 2, 3, 4]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5]

不過隨著串列越來越長,每次插入元素後再進行排序的方式,將會越來越慢,甚至造成大量不必要的運算,這時可以利用 Python 內建模組 bisect ,透過二元搜尋的方式幫我們插入元素到串列之中,如此一來該串列就不需要在新增元素後進行排序。

p.s bisect 只能運用在已排序過的串列(list)

Posted on  Feb 7, 2021  in  Python 程式設計 - 初階  by  Amo Chen  ‐ 3 min read