python内置模块bisect实现了二分查找及对有序列表的插入操作,bisect.bisect可以找出新元素应该被插入到哪个位置才能保持原列表的有序性,而bisect.insort则确实地将新元素插入到那个位置上去,看下面demo:
可以看到,当要插入的元素与列表中原有元素相同时,是插入到所有原有元素的下一个下标位,在这里我们要注意的是:bisect模块的函数不会判断原列表是否是有序的,因为这样做的话占用系统资源就太多了,因此,将它们用于无序列表虽然不会报错,但可能会导致不正确的结果哦。
python内置模块bisect实现了二分查找及对有序列表的插入操作,bisect.bisect可以找出新元素应该被插入到哪个位置才能保持原列表的有序性,而bisect.insort则确实地将新元素插入到那个位置上去,看下面demo:
可以看到,当要插入的元素与列表中原有元素相同时,是插入到所有原有元素的下一个下标位,在这里我们要注意的是:bisect模块的函数不会判断原列表是否是有序的,因为这样做的话占用系统资源就太多了,因此,将它们用于无序列表虽然不会报错,但可能会导致不正确的结果哦。
本文标题:python中二分查找及有序列表的插入:bisect模块的应用
本文链接:https://www.haomeiwen.com/subject/rhixvktx.html
网友评论