马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Python中的bisect用于操纵排序的数组,好比你能够在向一个数组拔出数据的同时举行排序。上面的代码演示了怎样举行操纵:
?
importbisect
importrandom
random.seed(1)
print(Newposcontents)
print(-----------------)
l=[]
foriinrange(1,15):
r=random.randint(1,100)
position=bisect.bisect(l,r)
bisect.insort(l,r)
print%3d%3d%(r,position),l
输入了局为:
?
Newposcontents
-----------------
140[14]
851[14,85]
771[14,77,85]
261[14,26,77,85]
502[14,26,50,77,85]
452[14,26,45,50,77,85]
664[14,26,45,50,66,77,85]
796[14,26,45,50,66,77,79,85]
100[10,14,26,45,50,66,77,79,85]
30[3,10,14,26,45,50,66,77,79,85]
849[3,10,14,26,45,50,66,77,79,84,85]
444[3,10,14,26,44,45,50,66,77,79,84,85]
779[3,10,14,26,44,45,50,66,77,77,79,84,85]
10[1,3,10,14,26,44,45,50,66,77,77,79,84,85]
能够看到,在拔出这些随机数的时分数组同时举行了排序。不外个中有一些反复的元素,好比下面的77,77。你能够对这些反复元素的按次举行设置,假如但愿反复的元素呈现在与他不异的元素右边就是用bisect_left,不然就是用bisect_right,响应的利用insort_left和insort_right。好比上面的代码,我们能够看到呈现反复的元素索引变更:
?
importbisect
importrandom
random.seed(1)
print(Newposcontents)
print(-----------------)
l=[]
foriinrange(1,15):
r=random.randint(1,100)
position=bisect.bisect_left(l,r)
bisect.insort_left(l,r)
print%3d%3d%(r,position),l
输入了局为:
?
Newposcontents
-----------------
140[14]
851[14,85]
771[14,77,85]
261[14,26,77,85]
502[14,26,50,77,85]
452[14,26,45,50,77,85]
664[14,26,45,50,66,77,85]
796[14,26,45,50,66,77,79,85]
100[10,14,26,45,50,66,77,79,85]
30[3,10,14,26,45,50,66,77,79,85]
849[3,10,14,26,45,50,66,77,79,84,85]
444[3,10,14,26,44,45,50,66,77,79,84,85]
778[3,10,14,26,44,45,50,66,77,77,79,84,85]
10[1,3,10,14,26,44,45,50,66,77,77,79,84,85]
此函数bisect.bisect(list,key),如同java里的TreeMap的tailMap(fromkey)
小知识:Linux主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。 |