如何创建递归函数以创建值列表

特里·霍林斯沃思

嗨,我试图了解递归的工作原理。我知道递归会反复调用自己。我很好奇是否可以将递归用于解决一些简单的问题,例如创建从0到9的列表。这是我要转换为递归的程序:

对于循环版本

def create_list(start, count):
    mylist = []
    for i in range(start, start + count):
        mylist.append(i)
    return mylist


the_list = create_list(0, 8)

print(the_list)

递归版本损坏

def create_list(start, count):
    mylist = []
    mylist = create_list_recurse(start, start + count)
    return mylist


def create_list_recurse(start, end):
    if start >= end:
        return

    create_list_recurse(start + 1, end)

print(create_list(0, 9))

我陷入了使递归版本无法正常工作的困境。该程序将仅返回值列表。请告诉我我是否采用错误的方法来解决此问题。

马克·迈耶

您不需要第二个函数或任何外部变量。您只需要一个边缘条件就可以知道何时停止,然后递归执行。在这里,可以创建列表的一部分并递归以获取其余部分。

首先考虑边缘情况,然后考虑一次递归调用会发生什么,通常会很有帮助。

您还需要记住从函数返回(并考虑边缘条件应返回的内容(例如,空列表):

def create_list_recurse(start, end):
    if start > end:
        return []

    return [start] + create_list_recurse(start + 1, end)

create_list_recurse(0, 9)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

create_list_recurse(3, 1) #edge case returns empty 
# []

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript:递归函数以创建嵌套的UL

来自分类Dev

如何编写函数以在OCaml中创建列表的循环版本?

来自分类Dev

如何创建递归函数

来自分类Dev

如何创建递归函数以将多级字典对象打印到文件

来自分类Dev

创建一个递归函数以获取整数列表中所有可能子集的总和

来自分类Dev

如何在R中创建函数以创建列的子集?

来自分类Dev

如何获取递归python函数以返回值?

来自分类Dev

如何使用两个变量的值的组合创建可扩展的函数以将数据帧子集化为数据帧列表

来自分类Dev

如果列值字符串长度小于5,如何创建用户函数以返回“ FALSE”?

来自分类Dev

循环或函数以创建新列并根据列表进行填充

来自分类Dev

如何在Powershell中编写函数以创建函数

来自分类Dev

如何在Powershell中编写函数以创建函数

来自分类Dev

如何从异步函数创建同步函数以实现向后兼容

来自分类Dev

如何使用递归函数创建具有n个元素的列表置换列表?| Python

来自分类Dev

如何创建尾递归反向列表过程?

来自分类Dev

如何使用递归功能创建列表

来自分类Dev

PHP-如何创建递归函数?

来自分类Dev

是否可以在递归函数上创建列表列表?

来自分类Dev

如何创建通用函数以解组所有类型?

来自分类Dev

如何更正此函数以在Tkinter Python中创建标签?

来自分类Dev

如何创建函数以返回方程式

来自分类Dev

如何在视图中创建匿名函数以获取数据?

来自分类Dev

如何创建循环或函数以循环浏览两个包含变量的向量列表,以在响应上运行KS测试

来自分类Dev

如何创建(C)函数以使用“读取”将文件中的数据读取到链接列表中?

来自分类Dev

如何创建jQuery函数以验证ASP复选框列表上的自定义验证器

来自分类Dev

创建递归函数以将节点添加到链表中

来自分类Dev

从向量列表创建递归列表

来自分类Dev

从列表类别创建递归列表

来自分类Dev

如何在JavaScript中创建构造函数以创建构造函数?

Related 相关文章

  1. 1

    JavaScript:递归函数以创建嵌套的UL

  2. 2

    如何编写函数以在OCaml中创建列表的循环版本?

  3. 3

    如何创建递归函数

  4. 4

    如何创建递归函数以将多级字典对象打印到文件

  5. 5

    创建一个递归函数以获取整数列表中所有可能子集的总和

  6. 6

    如何在R中创建函数以创建列的子集?

  7. 7

    如何获取递归python函数以返回值?

  8. 8

    如何使用两个变量的值的组合创建可扩展的函数以将数据帧子集化为数据帧列表

  9. 9

    如果列值字符串长度小于5,如何创建用户函数以返回“ FALSE”?

  10. 10

    循环或函数以创建新列并根据列表进行填充

  11. 11

    如何在Powershell中编写函数以创建函数

  12. 12

    如何在Powershell中编写函数以创建函数

  13. 13

    如何从异步函数创建同步函数以实现向后兼容

  14. 14

    如何使用递归函数创建具有n个元素的列表置换列表?| Python

  15. 15

    如何创建尾递归反向列表过程?

  16. 16

    如何使用递归功能创建列表

  17. 17

    PHP-如何创建递归函数?

  18. 18

    是否可以在递归函数上创建列表列表?

  19. 19

    如何创建通用函数以解组所有类型?

  20. 20

    如何更正此函数以在Tkinter Python中创建标签?

  21. 21

    如何创建函数以返回方程式

  22. 22

    如何在视图中创建匿名函数以获取数据?

  23. 23

    如何创建循环或函数以循环浏览两个包含变量的向量列表,以在响应上运行KS测试

  24. 24

    如何创建(C)函数以使用“读取”将文件中的数据读取到链接列表中?

  25. 25

    如何创建jQuery函数以验证ASP复选框列表上的自定义验证器

  26. 26

    创建递归函数以将节点添加到链表中

  27. 27

    从向量列表创建递归列表

  28. 28

    从列表类别创建递归列表

  29. 29

    如何在JavaScript中创建构造函数以创建构造函数?

热门标签

归档