wavinflagpython中pos的⽤法_Python中bict的⽤法
本⽂实例讲述了Python中bict的⽤法,是⼀个⽐较常见的实⽤技巧。分享给⼤家供⼤家参考。具体分析如下:
⼀般来说,Python中的bict⽤于操作排序的数组,⽐如你可以在向⼀个数组插⼊数据的同时进⾏排序。下⾯的代码演⽰了如何进⾏操作:
import bict
import random
爸爸去哪儿英文版主题曲random.ed(1)
print('New pos contents')
raprint('-----------------')
l=[]
for i in range(1,15):
r=random.randint(1,100)
position=bict.bict(l,r)
rejectbict.insort(l,r)
print '%3d %3d'%(r,position),l
输出结果为:
New 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]
44 4 [3, 10, 14, 26, 44, 45, 50, 66, 77, 79, 84, 85]
77 9 [3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]
1 0 [1, 3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]
可以看到,在插⼊这些随机数的时候数组同时进⾏了排序。不过其中有⼀些重复的元素,⽐如上⾯的
77,77。你可以对这些重复元素的顺序进⾏设置,如果希望重复的元素出现在与他相同的元素左边就是⽤bict_left,否则就是⽤bict_right,相应的使⽤insort_left和ligo
insort_right。⽐如下⾯的代码,我们可以看到出现重复的元素索引变化:
import bict
import random
random.ed(1)
print('New pos contents')
print('-----------------')
l=[]
for i in range(1,15):
r=random.randint(1,100)
position=bict.bict_left(l,r)
bict.insort_left(l,r)
print '%3d %3d'%(r,position),l
输出结果为:
New 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]
myths
79 6 [14, 26, 45, 50, 66, 77, 79, 85]
madlax10 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]
dna是什么意思44 4 [3, 10, 14, 26, 44, 45, 50, 66, 77, 79, 84, 85]
77 8 [3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]
1 0 [1, 3, 10, 14, 26, 44, 45, 50, 66, 77, 77, 79, 84, 85]
此函数bict.bict(list,key) ,犹如java⾥的TreeMap的tailMap(fromkey)。希望本⽂所述对⼤家的Python程序设计有所帮助。
本⽂标题: Python中bict的⽤法