bisect是什么意思(BU是什么意思)
首发

bisect是什么意思(BU是什么意思)

优质

文章目录[隐藏]

请用语音读文章

该bisect模块实现了一种算法。用于将元素插入列表。同时按排序顺序维护列表。

以排序顺序插入

这就是一个简单的示例。insort()用于按排序顺序将项目插入列表。

bisect_example.py

import bisect# A series of random numbersvalues = [14, 85, 77, 26, 50, 45, 66, 79, 10, 3, 84, 77, 1]print('New Pos Contents')print('— — ——–')l = []for i in values: position = bisect.bisect(l, i) bisect.insort(l, i) print('{:3} {:3}'.format(i, position), l)输出的第一列显示新的随机数。第二列显示数字将插入列表的位置。每行的其余部分是目前排序列表。

$ python3 bisect_example.pyNew Pos Contents— — ——– 14 0 [14] 85 1 [14, 85] 77 1 [14, 77, 85] 26 1 [14, 26, 77, 85] 50 2 [14, 26, 50, 77, 85] 45 2 [14, 26, 45, 50, 77, 85] 66 4 [14, 26, 45, 50, 66, 77, 85] 79 6 [14, 26, 45, 50, 66, 77, 79, 85] 10 0 [10, 14, 26, 45, 50, 66, 77, 79, 85] 3 0 [3, 10, 14, 26, 45, 50, 66, 77, 79, 85] 84 9 [3, 10, 14, 26, 45, 50, 66, 77, 79, 84, 85] 77 8 [3, 10, 14, 26, 45, 50, 66, 77, 77, 79, 84, 85] 1 0 [1, 3, 10, 14, 26, 45, 50, 66, 77, 77, 79, 84, 85]这就是一个简单的例子。事实上。考虑到被操纵的数据量。简单地构建列表然后对其进行一次排序可能会更快。相比之下。对于长列表。使用诸如此类的插入排序算法可以实现显着的期间和存放器节省。尤其是当比较列表的两个成员的操作需要昂贵的计算时。

处理重复

先前显示的结果集包括重复值。77。该 bisect模块提供了两种处理重复的方法:可以将新值插入现有值的左侧。也完全可以插入右侧。该insort()函数说实话是一个别名 insort_right()。它在现有值之后插入一个项目。相应的函数insort_left()在现有值之前插入一个项。

bisect_example2.py

import bisect# A series of random numbersvalues = [14, 85, 77, 26, 50, 45, 66, 79, 10, 3, 84, 77, 1]print('New Pos Contents')print('— — ——–')# Use bisect_left and insort_left.l = []for i in values: position = bisect.bisect_left(l, i) bisect.insort_left(l, i) print('{:3} {:3}'.format(i, position), l)当使用bisect_left()和 操作相同的数据时insort_left()。结果是相同的排序列表。但插入位置对于重复值是不同的。

$ python3 bisect_example2.pyNew Pos Contents— — ——– 14 0 [14] 85 1 [14, 85] 77 1 [14, 77, 85] 26 1 [14, 26, 77, 85] 50 2 [14, 26, 50, 77, 85] 45 2 [14, 26, 45, 50, 77, 85] 66 4 [14, 26, 45, 50, 66, 77, 85] 79 6 [14, 26, 45, 50, 66, 77, 79, 85] 10 0 [10, 14, 26, 45, 50, 66, 77, 79, 85] 3 0 [3, 10, 14, 26, 45, 50, 66, 77, 79, 85] 84 9 [3, 10, 14, 26, 45, 50, 66, 77, 79, 84, 85] 77 7 [3, 10, 14, 26, 45, 50, 66, 77, 77, 79, 84, 85] 1 0 [1, 3, 10, 14, 26, 45, 50, 66, 77, 77, 79, 84, 85]

以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

张紫宁好听的歌曲分享(火箭少女101小分队好听的歌曲分享)

请用语音读文章年度十大人气组合火箭少女101成员之一。是一位外冷内热的全能型音乐才[...

中国经典爱情电影排行榜前十名世界排名(5部经典爱情影片)

请用语音读文章爱情一直是人类永恒的话题。只要有人类的存在。爱情必然是人类共同追寻的[...

2017正规补肾保健品排行榜(十大国家认可的补肾)

请用语音读文章随着我国慢性肾病的发病率逐年上升。复原肾脏健康。或者说坚持肾脏健康。[...

常用的检索工具有哪些(途径和常用检索工具有哪些)

请用语音读文章作为一名商标代理人。笔者深耕知产行业15年。见证了各款商标检索工具的[...

发表评论

您的电子邮箱地址不会被公开。