1、将中间标值mid的元素e取到数列中,进行查找元素key的比较。
2、如果相等查找成功,若不等,大于则只需在后半部分查找,小于则需在前半部分查找。
实例
def binary_search(my_list, key): left = 0 right = len(my_list) while left <= right: mid = (right - left) // 2 if my_list[left + mid] < key: left = left + mid + 1 elif my_list[left + mid] > key: right = left + mid - 1 else: return left + mid return "None" if __name__ == "__main__": my_list = [1, 3, 5, 7, 9, 11, 13] print("二分查找的原始数列:", my_list) print("二分查找的返回结果:", binary_search(my_list, 3))
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
Docker Python Django 初始配置设置
Python 调用 MySQL 语句报错:TypeError: 'NoneType' object is not subscriptable,如何解决?
macOS下PyTorch安装成功却提示ModuleNotFoundError,如何排查?
专用GPU满载,共享GPU闲置?如何充分利用双显卡?
在Scrapy爬虫中使用管道进行数据持久化存储时,如果文件始终为空,可能是由于以下几个常见原因导致的:管道未启用: 确保你在settings.py文件中启用了管道。检查ITEM_PIPELINES配置是否包含了你的管道类,并且优先级设置正确。例如:ITEM_PIPELINES = { 'your_project.pipelines.YourPipeline': 300, }管道逻辑错误: 检查你的管道类中的process_item方法,确保它正确处理了数据并将数据写入文件。常见错误包括文件未打开、
本周经历