bisect維護已排序的序列
阿新 • • 發佈:2018-06-24
二分查找 ins 列表 spa left love bisect style ons
#!/usr/bin/env python # -*- coding:utf-8 -*- # author:love_cat import bisect # 用來處理已經排序好的序列,升序 # 二分查找 li = [] bisect.insort(li, 3) bisect.insort(li, 1) bisect.insort(li, 5) bisect.insort(li, 8) bisect.insort(li, 2) bisect.insort(li, 6) print(li) ‘‘‘ [1, 2, 3, 5, 6, 8] ‘‘‘ # bisect.insort,默認是insort_right# 關於insort_right和insort_left的區別 # 就是當我插入一個已經存在的數值,我是插在右邊還是左邊 # 關於序列,列表只是序列的一種 # 而只要是序列,bisect都可以維護 # 比方說我們換成雙端隊列 from collections import deque dq = deque() bisect.insort(dq, 3) bisect.insort(dq, 1) bisect.insort(dq, 5) bisect.insort(dq, 8) bisect.insort(dq, 2) bisect.insort(dq, 6) print(dq) ‘‘‘deque([1, 2, 3, 5, 6, 8]) ‘‘‘
bisect維護已排序的序列