您的位置:首页 > 编程语言 > Python开发

bisect模块 分类: python基础学习 python 2013-06-28 17:58 288人阅读 评论(0) 收藏

2013-06-28 17:58 866 查看
Python 中的bisect用于操作排序的数组,比如你可以在向一个数组插入数据的同时进行排序。下面的代码演示了如何进行操作:

bisect.bisect( l , r) 假设列表l已排序,返回元素r可以插入在列表l的索引位置





bisect.insort(l,i) 假设l是有序的列表,插入i,并保持最新的列表有序排列



输出结果为:

可以看到,在插入这些随机数的时候数组同时进行了排序。不过其中有一些重复的元素,比如上面的77,77。你可以对这些重复元素的顺序进行设置,如果希望重复的元素出现在与他相同的元素左边就是用bisect_left,否则就是用bisect_right,相应的使用insort_left和insort_right。比如下面的代码,我们可以看到出现重复的元素索引变化:

输出结果为:

此函数bisect.bisect(list,key) ,犹如java里的TreeMap的tailMap(fromkey)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐