python中bisect模块用法实例

yipeiwu_com7年前Python基础

本文实例讲述了python中bisect模块用法,分享给大家供大家参考。

具体方法分析如下:

这个模块只有几个函数,一旦决定使用二分搜索时,立马要想到使用这个模块。

示例代码如下:

import bisect
L = [1,3,3,6,8,12,15]
x = 3
x_insert_point = bisect.bisect_left(L,x)#在L中查找x,x存在时返回x左侧的位置,x不存在返回应该插入的位置..这是3存在于列表中,返回左侧位置1
print x_insert_point
x_insert_point = bisect.bisect_right(L,x)#在L中查找x,x存在时返回x右侧的位置,x不存在返回应该插入的位置..这是3存在于列表中,返回右侧位置3
print x_insert_point
x_insort_left = bisect.insort_left(L,x)#将x插入到列表L中,x存在时插入在左侧
print L
x_insort_rigth = bisect.insort_right(L,x)#将x插入到列表L中,x存在时插入在右侧
print L

本例测试环境为Python2.7.6

示例运行结果如下:

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

实际使用中bisect.insort_left与 bisect.insort_right 差别不大,作用基本相同。
希望本文所述对大家Python程序设计的学习有所帮助。

相关文章

python3.6根据m3u8下载mp4视频

python3.6根据m3u8下载mp4视频

需要下载某网站的视频,chrome浏览器按F12打开开发者模式,发现视频链接是以"blob:http"开头的链接,打开这个链接后找不到网页,网上查了下,找到了下载方法,在这里做个记录,如...

分享一下Python 开发者节省时间的10个方法

分享一下Python 开发者节省时间的10个方法

Python 是一个美丽的语言,可以激发用户对它的爱。所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python. Python有很多吸...

使用Python获取Linux系统的各种信息

在本文中,我们将会探索使用Python编程语言工具来检索Linux系统各种信息。走你。 哪个Python版本? 当我提及Python,所指的就是CPython 2(准确的是2.7...

详解在Python和IPython中使用Docker

现在Docker是地球上最炙手可热的项目之一,就意味着人民实际上不仅仅是因为这个才喜欢它。 话虽如此,我非常喜欢使用容器,服务发现以及所有被创造出的新趣的点子和领域来切换工作作为范例。...

解决pytorch报错:AssertionError: Invalid device id的问题

在服务器上训练的网络放到本地台式机进行infer,结果出现报错: AssertionError: Invalid device id 仔细检查后发现原来服务器有多个GPU,当时开启...