zoukankan      html  css  js  c++  java
  • python_bisect模块的使用

    这个模块只有几个函数,

    一旦决定使用二分搜索时,立马要想到使用这个模块 

    [python] view plain copy
     
     print?
    1. import bisect  
    2.   
    3. L = [1,3,3,6,8,12,15]  
    4. x = 3  
    5.   
    6. x_insert_point = bisect.bisect_left(L,x)  #在L中查找x,x存在时返回x左侧的位置,x不存在返回应该插入的位置..这是3存在于列表中,返回左侧位置1  
    7. print x_insert_point  
    8.   
    9. x_insert_point = bisect.bisect_right(L,x)  #在L中查找x,x存在时返回x右侧的位置,x不存在返回应该插入的位置..这是3存在于列表中,返回右侧位置3  
    10.   
    11. print x_insert_point  
    12.   
    13. x_insort_left = bisect.insort_left(L,x)  #将x插入到列表L中,x存在时插入在左侧  
    14. print L  
    15.   
    16. x_insort_rigth = bisect.insort_right(L,x) #将x插入到列表L中,x存在时插入在右侧      
    17.   
    18. print L  


    结果:

    1
    3
    [1, 3, 3, 3, 6, 8, 12, 15]
    [1, 3, 3, 3, 3, 6, 8, 12, 15]

    实际使用中

    [python] view plain copy
     
     print?
      1. bisect.insort_left与 bisect.insort_right 差别不大,作用基本相同 。。。
  • 相关阅读:
    高精度加法
    高精度计算(一)
    算法总结
    崛起之路
    2015浙江高考满分作文汇总(9篇)
    努力
    NOIP2015总结
    P3197 [HNOI2008]越狱[组合数学]
    【原创】SPFA判负环
    P1351 联合权值[鬼畜解法]
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/7118750.html
Copyright © 2011-2022 走看看