Python 这是使用递归在列表中查找偶数的正确代码吗?
我想使用递归在列表中查找偶数,下面的代码好吗?(python)Python 这是使用递归在列表中查找偶数的正确代码吗?,python,recursion,Python,Recursion,我想使用递归在列表中查找偶数,下面的代码好吗?(python) 函数通常用于在处理后返回值。在您的情况下,您正在打印结果。你可以这样改变 def evenlis(lis): if len(lis) == 0: return [] else: return [lis[0]] if lis[0] % 2 == 0 else [] + evenlis(lis[1:]) even_list = [number for number in my_l
函数通常用于在处理后返回值。在您的情况下,您正在打印结果。你可以这样改变
def evenlis(lis):
if len(lis) == 0:
return []
else:
return [lis[0]] if lis[0] % 2 == 0 else [] + evenlis(lis[1:])
even_list = [number for number in my_list if number % 2 == 0]
[lis[0]]if lis[0]%2==0 else[]
)创建包含当前元素的临时列表(如果是偶数)def evenlis(lis):
if len(lis) == 0:
return []
else:
return [lis[0]] if lis[0] % 2 == 0 else [] + evenlis(lis[1:])
even_list = [number for number in my_list if number % 2 == 0]
我们迭代列表,检查当前数字是否可以被2整除,如果可以,我们将该元素添加到结果列表中。它有语法错误,因此甚至不编译。我认为这是为了某种实践?现实世界的应用程序不会对此使用递归。。。它很容易在一个长长的列表中被打破…如果
中的或者中的缺少冒号,
“这是正确的代码吗…”为什么不测试它?!我认为第四只眼睛在我开始之前几秒钟,让你能够发布这个精确的解:)你也可以避免模运算,并按位计算它<代码>[如果不是数字&1,则在我的\u列表中数字对应数字]
-发生的事情不太明显,但在大整数的情况下效率更高