Python-维护排序好的序列模块-bisect

bisect模块

  处理已经排序的序列,升序,从小到大,分插入数据和查看插入数据的位置两大核心,类似于插入排序算法

  

 插入数据

  # 首先这个序列按升序规则已经排序好的

  # 查找规则是二分查找,当数据相等的时候又分为插入左边或右边

import bisect

score = []
# 二分查找插入排序好的序列,升序,从小到大
# 维护已经排好序的列表,默认右边,本身必须是可修改序列类型
bisect.insort(score, 30)
# 插入相同数据的右边
bisect.insort_right(score, 30)
bisect.insort(score, 4)
bisect.insort(score, 26)
print(score)

# 未排序好,则不符合前提条件
name = [3, 6, 4, 7, 9, 8]
bisect.insort(name, 4)
print(name)

  

查询插入位置

  # 找到插入的位置,默认是右边

score = [1, 2, 3, 4, 5]
# 输入插入的位置,相同则分为左边或右边插入位置,默认右边
print(bisect.bisect(score, 4))
print(bisect.bisect_left(score, 4))

 

  

 

posted @ 2018-05-31 09:32  梦_鱼  阅读(269)  评论(0编辑  收藏  举报