分析如下:

一般来说,Python中的bisect用于操作排序的数组,比如你可以在向一个数组插入数据的同时进行排序。下面的代码演示了如何进行操作:import bisect

import random

random.seed(1)

print('New pos contents')

print('-----------------')

l=[]

for i in range(1,15):

r=random.randint(1,100)

position=bisect.bisect(l,r)

bisect.insort(l,r)

print '%3d %3d'%(r,position),l

输出结果为:New pos contents

-----------------

14 0 [14]

85 1 [14, 85]

77 1 [14, 77, 85]

26 1 [14, 26, 77, 85]

50 2 [14, 26, 50, 77, 85]

45 2 [14, 26, 45, 50, 77, 85]

66 4 [14, 26, 45, 50, 66, 77, 85]

79 6 [14, 26, 45, 50, 66, 77, 79, 85]

10 0 [10, 14, 26, 45, 50, 66, 77, 79, 85]

3 0 [3, 10, 14, 26, 45, 50, 66, 77, 79, 85]

84 9 [3, 10, 14, 26, 45, 50, 66, 77, 79, 84, 85]

44 4 [3, 10, 14, 26, 44, 45, 50, 66, 77, 79, 84, 85]

77 9 [3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]

1 0 [1, 3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]

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

import random

random.seed(1)

print('New pos contents')

print('-----------------')

l=[]

for i in range(1,15):

r=random.randint(1,100)

position=bisect.bisect_left(l,r)

bisect.insort_left(l,r)

print '%3d %3d'%(r,position),l

输出结果为:New pos contents

-----------------

14 0 [14]

85 1 [14, 85]

77 1 [14, 77, 85]

26 1 [14, 26, 77, 85]

50 2 [14, 26, 50, 77, 85]

45 2 [14, 26, 45, 50, 77, 85]

66 4 [14, 26, 45, 50, 66, 77, 85]

79 6 [14, 26, 45, 50, 66, 77, 79, 85]

10 0 [10, 14, 26, 45, 50, 66, 77, 79, 85]

3 0 [3, 10, 14, 26, 45, 50, 66, 77, 79, 85]

84 9 [3, 10, 14, 26, 45, 50, 66, 77, 79, 84, 85]

44 4 [3, 10, 14, 26, 44, 45, 50, 66, 77, 79, 84, 85]

77 8 [3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]

1 0 [1, 3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]

此函数bisect.bisect(list,key) ,犹如java里的TreeMap的tailMap(fromkey)。

希望本文所述对大家的Python程序设计有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

python bisect_Python中bisect的用法相关推荐

  1. python bisect_python中bisect模块用法实例

    本文实例讲述了python中bisect模块用法,分享给大家供大家参考. 具体方法分析如下: 这个模块只有几个函数,一旦决定使用二分搜索时,立马要想到使用这个模块. 示例代码如下: import bi ...

  2. python bisect_Python中bisect的用法及示例详解

    bisect是python内置模块,用于有序序列的插入和查找. 查找: bisect(array, item) 插入: insort(array,item) 查找 import bisect a = ...

  3. python bisect_Python中bisect的使用

    在中第十章的练习中,涉及到了分半查找的bisect模块.为此,在网上查阅了Python中bisect模块的相关内容.有几个链接相对权威和明白: 这里,就我有疑问的地方做个记录: 第一,bisect模块 ...

  4. python3 nonzero_浅谈python numpy中nonzero()的用法

    nonzero函数返回非零元素的目录. 返回值为元组, 两个值分别为两个维度, 包含了相应维度上非零元素的目录值. import numpy as np A = np.mat([[0,1,2,3,4, ...

  5. 详解python列表中冒号的用法

    详解python列表中冒号的用法 切片 赋值 a=b型 a=b[:]型 a[:]=b[:]型 写这个专题是因为做Leetcode第88题被两个写法坑了一下 nums1 = sorted(nums1[: ...

  6. python enumerate_python中enumerate的用法实例解析

    在python中enumerate的用法多用于在for循环中得到计数,本文即以实例形式向大家展现python中enumerate的用法.具体如下: enumerate参数为可遍历的变量,如 字符串,列 ...

  7. python hashlib_python中hashlib模块用法示例

    我们以前介绍过一篇Python加密的文章:Python 加密的实例详解.今天我们看看python中hashlib模块用法示例,具体如下. hashlib hashlib主要提供字符加密功能,将md5和 ...

  8. 独家 | 浅谈Python/Pandas中管道的用法

    作者:Gregor Scheithauer博士 翻译:王闯(Chuck)校对:欧阳锦本文约2000字,建议阅读5分钟本文介绍了如何在Python/Pandas中运用管道的概念,以使代码更高效易读. 图 ...

  9. python bisect_Python 中的bisect

    Python 中的bisect用于操作排序的数组,比如你可以在向一个数组插入数据的同时进行排序.下面的代码演示了如何进行操作: import bisect import random random.s ...

最新文章

  1. 阿里云代码超限2040M remote: error: hook declined to update refs/heads
  2. mysql distinct 慢_MySQL 5.5“select distinct”真的很慢
  3. 【网络知识点】防火墙主备冗余技术
  4. 数据库连接串MSSQL、Oracle、Access
  5. python在工厂中的运用_在python中使用元类实现工厂设计模式
  6. 蚂蚁资深算法专家周俊:从原理到落地,支付宝如何打造保护隐私的共享智能?...
  7. linux-基本权限UGO-读写执行权限
  8. 剑指Offer55-II题解-平衡二叉树
  9. 拼接字符串时的引号嵌套
  10. 为什么我十分喜欢C,却很不喜欢C++
  11. jquery选择器的总结
  12. ubuntu + pycharm + anaconda + pyqt4 + tools 配置
  13. Android高级控件(六)——自定义ListView高仿一个QQ可拖拽列表的实现
  14. 关于Bmob的一些浅述
  15. 朱军,感到无助与迷茫,关于这生活
  16. Ubuntu安装过程中出现“没有定义根文件系统”,Ubuntu安装过程中无法读取Windows分区
  17. 主题:EXE + BPL + DLL + Interface实现插件式客户端解决方案
  18. Oracle表空间已满解决方案
  19. abaqus创建路径_Abaqus后处理的四种路径的应用-技术邻社区
  20. 电脑开机黑屏提示:ERROR 0199:System Security-Security password retry count exceeded(by 星空武哥)

热门文章

  1. 这么简单的目标检测赛题,竟然设置260万现金奖!
  2. 复旦大学自然语言处理实验室发布模型鲁棒性评测平台TextFlint
  3. 华人博士生首次尝试用两个Transformer构建一个GAN
  4. 人民日报:中国 31 个省市区最好的大学
  5. 最后通牒!这所985大学通知近百名硕博研究生限期回校答辩,逾期退学!
  6. 【分享】博士生提高科研幸福感的途径
  7. AAAI 2020 | 滴滴东北大学提出自动结构化剪枝压缩算法框架,性能提升高达120倍...
  8. Github标星2.3k+!这个仓库提供了靠谱的入门人工智能的路线及资料!
  9. 初识广度优先搜索与解题套路
  10. 【每日一算法】两数相加