Python 的bisect模块: 有序序列的查找和插入

news/2024/7/6 2:03:18 标签: python, 插入排序, 排序算法

查找位置:bisect(array,new_item)

import bisect

a = [1, 2, 4, 8, 12, 14, 19]
item = 13
position = bisect.bisect(a, item)
print(position)  # 如果放到有序序列中,应该存在的索引位置

# 使用列表的insert方法插入对应位置
a.insert(position, item)
print(a)
结果:
5
[1, 2, 4, 8, 12, 13, 14, 19]

有序插入:insort(array,new_item)  注意是insort不是insert

a = [1, 2, 4, 8, 12, 14, 19]
item = 13
bisect.insort(a, item)  # 直接对列表有序插入,(无返回值)
print(a)
结果:
[1, 2, 4, 8, 12, 13, 14, 19]

bisect还有bisect_left,insort_left的用法,和不带left的用法的区别是:当插入的元素和序列中的某一个元素相同时,该插入到该元素的前面(左边,left),还是后面(右边);

 

列举一个应用:

根据一个分数,得到他的成绩。

import bisect


def get_score_level(score, scores=(60, 70, 80, 90), grades="EDCBA"):
    position = bisect.bisect(scores, score)
    return grades[position]


print(get_score_level(65))

 


http://www.niftyadmin.cn/n/1662888.html

相关文章

QT—信号与槽详解

目录 一、什么是信号与槽 二、信号与槽的添加 1.添加槽方法 2.添加信号 3.发送信号 4.信号与槽连接 三、连接类型 1.一对一 2.一对多 3.多对一 四、信号与槽断开连接 1.断开一个对象的所有信号关联 2.断开指定信号的所有关联 3.断开指定接收者的所有关联 4.断…

python之Flask实现登录功能

网站少不了要和数据库打交道,归根到底都是一些增删改查操作,这里做一个简单的用户登录功能来学习一下Flask如何操作MySQL。 用到的一些知识点:Flask-SQLAlchemy、Flask-Login、Flask-WTF、PyMySQL这里通过一个完整的登录实例来介绍&#xff0…

【TensorFlow学习笔记】4:认识Variable及其重用(共享),在scope上的初始化

学习《深度学习之TensorFlow》时的一些实践。 认识TF中的Variable TF通过name来标识变量(Variable),这和调用者定义的程序里的"变量名"无关。当不指定name时,由TF自己指定,当创建的变量的name已经存在时,TF会为其改名。…

LINUX网络服务01:DHCP

第一步:安装rpm -ivh /mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm第二步:修改配置文件rpm -qc dhcpvi /etc/dhcp/dhcpd.conf 查看dhcp服务相关的配置文件subnet 192.168.80.0 netmask 255.255.255.0 {range 192.168.80.100 192.168.80.200;optio…

QT—动态属性系统

目录 一、创建动态属性 二、Q_PROPERTY宏参数类型 三、演示 四、通过基类读写动态属性 1.读属性 2.改属性 一、创建动态属性 在标准C中,为了保证封装性,我们经常声明一个私有变量,然后声明两个公有函数,即set函数和get函…

Python中列表并不是首选,其他序列类型介绍:数组、内存视图、NumPy 、双向队列deque

数组array.array 比如我们要存放100万个浮点数的话,使用数组就会更高效一点,因为数组背后存储是不是float对象,而是数字对应的机器翻译,也就是字节表述。 数组支持所有可变序列的操作,比如.pop .insert .extend。另外…

【TensorFlow学习笔记】5:variable_scope和name_scope,图的基本操作

学习《深度学习之TensorFlow》时的一些实践。 variable_scope 一般的嵌套 上节有学到在嵌套scope中的变量,一般是: import tensorflow as tf# with tf.variable_scope("scopeA") as spA: # var1 tf.get_variable("v1", [1])…

WPF中的资源(二) - 二进制资源

原文:WPF中的资源(二) - 二进制资源WPF中的二进制资源,就是类似于MFC中在对话框程序中添加的图片、字符串等资源,程序在运行时将其转换成二进制,以供程序使用。下面以将字符串转换成二进制为例来说明,二进制…