python中bisert内置函数的用法

主要是bisert包含的功能和使用方法

包含的功能:insort_left,

                   insort_right,(查找插入)

                   bisect_right,

                   bisect_left ,(查找)

python中bisert内置函数的用法_第1张图片

 在序列 a 中二分查找适合元素 x 插入的位置,保证 a 仍为 有序序列

插入的元素位置与离左侧最近的点为准,插入到其右侧。

其中传入的参数a为可遍历的对象,x为查找对象,

lo,hi分别定义查找范围/返回索引的 上限和下限,缺省时默认对 整个 序列查找。

lo=0默认为a里面的下标为0的值,hi为None会默认为整个序列的长度。

无返回值需要打印出来。

import bisect  # python内置模块

a = [2, 5, 10, 15, 18, 19]
# 查找位置(看与左侧数值最相近的位置)
position1 = bisect.bisect_right(a, 14)
position2 = bisect.bisect_right(a, 10)
print(position1)
print(position2)

python中bisert内置函数的用法_第2张图片

bisect.bisect_right() 是为了在序列 a 中 查找 元素 x 的插入点(离左侧最近的那个点) ,  那么 bisect.insort_right() 就是在找到插入点的基础上,真正地将元素 x 插入序列 a,从而改变序列 a 同时保持元素顺序。

有返回值,无需赋值变量。

import bisect  # python内置模块

a = [2, 5, 10, 15, 18, 19]
# 查找位置
bisect.insort_right(a, 14)
print(a)
bisect.insort_right(a, 10)
print(a)

python中bisert内置函数的用法_第3张图片

同insort_right,参数一样,只不过首先插入到序列的离右侧元素最近的位置。 

python中bisert内置函数的用法_第4张图片

 同bisect_right,参数一样,只不过首先查找到序列的离右侧元素最近的位置。 

 bisect默认为bisect_right,insort默认为insort_right。

 包含bisect和insort

import bisect  # python内置模块

a = [2, 5, 10, 15, 18, 19]
# 查找位置
position = bisect.bisect(a, 14)
bisect.insort(a, 10)
print(position)
print(a)

python中bisert内置函数的用法_第5张图片

 

你可能感兴趣的:(python)