python里几个神奇的库(未完待续)

1.bisect:使用二分法,在一个已排序的序列查找合适的插入位置。

>>>import bisect

>>>l = [10,19,88,90]

>>>bisect.bisect(l, 22)

>>>2   #适合插入的位置为2



bisect.bisect_left(l, 22)  #如果已经在列表中存在,返回左边的位置

bisect.insort_left(l,22)  #插入

2.heapq:完全平衡二叉树,所有节点都小于其子节点。

from heapq import *

from random import *

l = sample(xrange(1000),10)

heap = []

print l

for i in l:heappush(heap, i)



print heappop(heap)   #弹出的是列表里最小的。

nlargest(5, l)  从列表中返回有序的最大的N个元素

nsmallest(5, l) 返回最小的N个元素

  

你可能感兴趣的:(python)