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