程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python 高级编程和异步IO并发编程 --05_5 bisect处理已排序序列

发布于2020-03-19 18:14     阅读(1372)     评论(0)     点赞(9)     收藏(5)


  1. import bisect
  2. # 用来处理已经排序的序列,用来位置已排序的序列,升序.
  3. # 这里只说序列,因为序列包含list,tuple,dict,对序列的规则同样适用于list/tuple/dict
  4. # 二分查找
  5. inter_list = []
  6. bisect.insort(inter_list, 3)
  7. bisect.insort(inter_list, 2)
  8. bisect.insort(inter_list, 5)
  9. bisect.insort(inter_list, 8)
  10. bisect.insort(inter_list, 1)
  11. bisect.insort(inter_list, 9)
  12. print(inter_list) # 输出是一个已经排好序的序列
  1. C:\Users\Amber\PycharmProjects\test0\venv\Scripts\python.exe C:/Users/Amber/PycharmProjects/test0/Chapter05/bisect_test.py
  2. [1, 2, 3, 5, 8, 9]

如果程序需要始终维护一个已排序的序列,则推荐使用bisect

  1. import bisect
  2. # 用来处理已经排序的序列,用来位置已排序的序列,升序.
  3. # 这里只说序列,因为序列包含list,tuple,dict,对序列的规则同样适用于list/tuple/dict,只要是可修改序列即可
  4. # 二分查找
  5. inter_list = []
  6. bisect.insort(inter_list, 3) # bisect默认是bisect.right方法,从右边插入
  7. bisect.insort(inter_list, 2)
  8. bisect.insort(inter_list, 5)
  9. bisect.insort(inter_list, 8)
  10. bisect.insort(inter_list, 1)
  11. bisect.insort(inter_list, 9)
  12. print(inter_list) # 输出是一个已经排好序的序列
  13. print(bisect.bisect(inter_list,5)) # 查看元素5的插入位置。
  14. print(bisect.bisect_left(inter_list,5)) # 查看元素5的插入位置。
  1. C:\Users\Amber\PycharmProjects\test0\venv\Scripts\python.exe C:/Users/Amber/PycharmProjects/test0/Chapter05/bisect_test.py
  2. [1, 2, 3, 5, 8, 9]
  3. 4
  4. 3

 

原文链接:https://blog.csdn.net/f2157120/article/details/104913740



所属网站分类: 技术文章 > 博客

作者:老铁哪来的

链接:https://www.pythonheidong.com/blog/article/268675/ee88452496063fd8c9ad/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

9 0
收藏该文
已收藏

评论内容:(最多支持255个字符)