python之bisect模块, 有序列表插入数据

简介: bisect是python的内置模块, 可以使用它来插入数据, 并且插入的数据不会影响列表的排序, **但是原有列表需要是有序的, 并且不能是倒序**.

bisect是python的内置模块, 可以使用它来插入数据, 并且插入的数据不会影响列表的排序, 但是原有列表需要是有序的, 并且不能是倒序.

  • bisect.bisect(data, n), 查找并返回n插入的位置下标, 但并不会插入.

    data = [1, 7, 3, 8, 5]
    data.sort()   
    bisect.bisect(data, 6)    # 返回 3
  • bisect.insort(data, n), 插入n, 不会影响列表顺序.

     bisect.insort(data, 6)
     print(data)     # [1, 3, 5, 6, 7, 8]
  • bisect.bisect_left()、bisect_right(), 这两个函数用来处理插入重复数值的情况,返回将会插入的位置.

    data = [1, 3, 5, 6, 7, 8]
    bisect.bisect_left(data, 6)   #返回 3
    bisect.bisect_reght(data, 6)   #返回 4
  • bisect.insort_left()、insort_right(), 对应bisect.bisect_left()、bisect_right(), 用来插入数据.

    bisect.insort_left(data, 6)
    print(data)   #返回 [1, 3, 5, 6, 6, 7, 8]  元素`5`后的`6`是新插入的数据
    bisect.insort_reght(data, 6)
    print(data)   #返回 [1, 3, 5, 6, 6, 6, 7, 8] 元素`7`前的`6`是新插入的数据
    #insort_left从左侧插入, insort_reght从右侧插入

    本文链接:时光不写博客-python-bisect

相关文章
|
4天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
8天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
41 5
|
6天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
11 0
|
7天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
11 0
|
7天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
12 0
|
25天前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
28 0
|
28天前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
|
1月前
|
存储 自然语言处理 Java
【Python】列表和元组
【Python】列表和元组
19 0
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)