zoukankan      html  css  js  c++  java
  • 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))
    

      

  • 相关阅读:
    Network File System
    模拟网络抖动及网络延迟
    python with statements
    Centos 7
    Blind Carbon Copy
    git
    python time
    valgrind3.11.0
    tinycore os
    about arp_ignore arp_filter arp_announce rp_filter
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/9114901.html
Copyright © 2011-2022 走看看