带有列表的Python递归返回无[重复]

Posted

技术标签:

【中文标题】带有列表的Python递归返回无[重复]【英文标题】:Python recursion with list returns None [duplicate] 【发布时间】:2011-02-05 15:34:28 【问题描述】:
def foo(a):
    a.append(1)
    if len(a) > 10:
        print a
        return a
    else:
        foo(a)

为什么这个递归函数返回 None(见下文)?我不太明白我做错了什么。

在 [263] 中:x = [] 在 [264] 中:y = foo(x) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] 在 [265] 中:打印 y 没有

【问题讨论】:

【参考方案1】:

您不会在 else 子句中返回任何内容:

    else:
        return foo(a)

【讨论】:

以上是关于带有列表的Python递归返回无[重复]的主要内容,如果未能解决你的问题,请参考以下文章

集合列表上的Python .sort()返回无[重复]

递归与回溯:python列表组合问题

在对列表进行双重递归时,“预检查”是避免添加无类型或空字符串的首选方法吗?

带有列表的 Python 基于轮次的递归

扩展列表返回无 [重复]

递归展平列表[重复]