# -*- coding: utf-8 -*-
__author__ = 'Administrator'
import bisect
#简化一些操作
#1:在一个列表中查找
"""
说明:需要在一个列表的实例中提供一个搜索算法,
对该列表的已排序版本执行二分查找就可以将复杂度从o(n)降至o(log n)
"""
def listfind(seq,el):
pos=bisect.bisect(seq,el)
if pos==0 or (pos==len(seq) and seq[-1]!=el):
return -1
return pos-1
seq=[2,3,7,8,9]
print listfind(seq,9)
print listfind(seq,6)
print listfind(seq,-1)
相关文章
- PyCharm中运行同一个python程序时选择平行窗口运行
- 在powerdesigner中,一个table,怎么在diagram中创建多个symbol
- 在虚拟环境中更新opencv-python
- 在 Python 中安装 yaml
- 使用Python在列表中查找值
- 在python中WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
- c#中总是提示“在代码运行时或者在禁用“只要一个进程中断,就中断所有进程”选项时,不允许进行更改。
- python在一个函数中调用另一函数中的变量
- Anaconda还可以在python3.5的基础上创建一个新的独立的python2.7的环境
- python怎么检测按键_在python中检测按键?