递归和二分法
l=[1,[2,[3,[4,[5,[6,[7,[8,[9,[10,[11,]]]]]]]]]]] def search(l): for item in l: if type(item) is not list: # 不是列表直接打印 print(item) else: # 判断是列表则继续循环,判断... search(item) search(l) nums=[13,15,17,23,31,53,74,81,93,102,103,201,303,403,503,777] find_num=503 def binary_search(nums,find_num): print(nums) if len(nums) == 0: print('not exists') return mid_index=len(nums) // 2 if find_num > nums[mid_index]: # in the right nums=nums[mid_index+1:] # 重新执行二分的逻辑 binary_search(nums,find_num) elif find_num < nums[mid_index]: #in the left nums=nums[0:mid_index] # 重新执行二分的逻辑 binary_search(nums,find_num) else: print('find it')
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步