python排序模块:bisect

import bisect


data = [2,4,7,9]


# * 使用该模块时需确保操作的列表是已排序的

# bisect.insort(list, boj)   在有序列表中插入元素,不影响原有的排序,插入后的列表仍是有序的
bisect.insort(data, 3)
print(data)   # data = [2,3,4,7,9]  使用bisect.insort()结果是有序列表

# insort_left  和 insort_right 用于有重复元素的列表,left-插入在重复元素之前,right-插入在重复元素之后





# bisect.bisect(list, obj)   其目的在于查找该数值将会插入的位置并返回,而不会插入

bisect.bisect(data, 1)   # 0  返回应该插入的位置
print(data)   # data = [2,3,4,7,9]

# bisect_left 和 bisect_right 函数,该函数用入处理将会插入重复数值的情况,返回将会插入的位置
# left-插入在重复元素之前,right-插入在重复

 

你可能感兴趣的:(python教程)