【发布时间】:2021-03-10 08:04:36
【问题描述】:
我并不是很喜欢递归函数,我要求将我的函数更改为递归和更优化的函数。我知道在这个任务中我应该利用这个列表排序的事实,但我不知道如何,也许是一些冒泡排序?这是我的代码,非常简单但甚至不是递归的,它没有考虑列表是否排序。
list1 = [1, 2, 3, 4, 5, 6]
def is_in_List(x):
if x in list1:
return True
else:
return False
x = 3
if is_in_List(x):
print(f"{x} is in list")
else:
print(f"{x} is not in list")
【问题讨论】:
-
如果它开始排序,你可以实现一种二进制搜索来查找元素 (en.wikipedia.org/wiki/Binary_search_algorithm)
-
你能详细说明为什么解决方案必须是递归的吗?许多算法可以以递归或迭代方式实现。
-
@AlexanderL.Hayes 这是我班级的任务
-
欢迎来到 SO!这是一个内置的:docs.python.org/3/library/bisect.html
-
这能回答你的问题吗? Recursion binary search in Python
标签: python python-3.x list function recursion