《python-for-data-analysis》学习中发现一个有意思的模块,bisect,有此记录:
bisect处理的数据要确保经过排序。
bisect.insert表示按顺序插入list中;bisect.bisect则返回插入的位置,但是实际并未插入。
import bisect alist=[2,4,5,6,1,9,8] bisect.insort(alist,1) print(alist) #bisect模块不会检查列表是否已排好序,进行检查的话会耗费大量计算。因此,对未排序的列表 #使用bisect不会产生错误,但结果不一定正确。 #[1, 2, 4, 5, 6, 1, 9, 8] alist.sort() print(alist) #[1, 1, 2, 4, 5, 6, 8, 9] bisect.insort(alist,1) print(alist) #[1, 1, 1, 2, 4, 5, 6, 8, 9] print(bisect.bisect(alist,3)) #4 print(alist) #[1, 1, 1, 2, 4, 5, 6, 8, 9] #其他性质 bisect.insort_left(alist,4) bisect.bisect_right(alist,4)
参考:https://www.cnblogs.com/skydesign/archive/2011/09/02/2163592.html
以上,记录本人学习过程。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206960.html原文链接:https://javaforall.net
