bisect---一个非常好用的Python内置模块

2019-04-18  本文已影响0人  LuDon

bisect 是Python的一个排序模块。

>>> import bisect
>>> dir(bisect)
['__builtins__',
 '__cached__',
 '__doc__',
 '__file__',
 '__loader__',
 '__name__',
 '__package__',
 '__spec__',
 'bisect',
 'bisect_left',
 'bisect_right',
 'insort',
 'insort_left',
 'insort_right']

可见bisect一共有6个内置函数,分为两类一类为查找,一类为插入。

>>> data = [4, 3, 8, 7, 9]
>>> data.sort()
>>> data
[3, 4, 7, 8, 9]

# insort
>>> bisect.insort(data, 3)
>>> data
[3, 3, 4, 7, 8, 9]

# bisect 返回要插入的位置
>>> bisect.bisect(data, 2)
0

# bisect_left和bisect_right
>>> bisect.bisect_left(data, 3)
0

>>>bisect.bisect_right(data, 3)

# insort_left和insort_right
>>> bisect.insort_left(data, 4)
>>> data
[3, 3, 4, 4, 7, 8, 9]

>>> bisect.insort_right(data, 4)
>>> data
[3, 3, 4, 4, 4, 7, 8, 9]
上一篇 下一篇

猜你喜欢

热点阅读