4、查找算法
1、顺序查找
(1)for循环遍历列表
(2)index()函数
(3)count()函数
2、二分查找(经典面试题)
从有序列表的候选区data[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一半在一段数字内,找到中间值,判断要找的值和中间值大小的比较。
如果中间值大一些,则在中间值的左侧区域继续按照上述方式查找。
如果中间值小一些,则在中间值的右侧区域继续按照上述方式查 找。
直到找到我们希望的数字。
![](https://images2018.cnblogs.com/blog/1372327/201805/1372327-20180527111838200-889748253.jpg)
附上代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
def binary_search(num,list): low = 0 high = len(list) - 1 while(low <= high): middle = (low + high) / 2 if list[middle] > num: high = middle - 1 elif list[middle] < num: low = middle + 1 else: return middle return -1 if __name__ == '__main__': list = [1,2,3,4,5,6,7,8,9] num = 4 location = binary_search(num,list) print(location)
3、添加数据
(1)append()函数:把一个元素放入到列表末尾
(2)extend()函数:把一个列表合并到另一个列表末尾
(3)insert()函数:把元素插入到列表指定位置
4、删除数据
(1)pop()函数:删除列表末尾的元素
(2)remove()函数:删除列表中第一个符合要求的元素
![](https://images2018.cnblogs.com/blog/1372327/201805/1372327-20180527113835725-286736844.jpg)
谨记:不积跬步无以至千里