1. 程式人生 > >bisect維護已排序的序列

bisect維護已排序的序列

二分查找 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維護已排序的序列