首页 > 代码库 > python在一个列表中查找

python在一个列表中查找

# -*- 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)

 

python在一个列表中查找