You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python递归生成指定规则嵌套列表 禁用循环切片及复制类函数报错修复

报错原因

Python中列表的append()方法是原地修改操作,没有返回值(默认返回None),你的代码直接将append()的结果作为递归返回值,当n≥2时,上一层递归拿到的返回值是None,对None调用append()就触发了AttributeError。

正确实现

观察输出规则可以发现,list_occur(n)的结果等价于list_occur(n-1)的结果末尾追加list_occur(n-1)本身,我们可以用列表加法替代原地append,避免返回None的问题,同时满足所有限制条件。

def list_occur(n):
    if n == 0:
        return []
    prev = list_occur(n - 1)
    return prev + [prev]

# 测试代码
if __name__ == "__main__":
    print(list_occur(0)) # 输出 []
    print(list_occur(1)) # 输出 [[]]
    print(list_occur(2)) # 输出 [[], [[]]]
    print(list_occur(3)) # 输出 [[], [[]], [[], [[]]]]

内容的提问来源于stack exchange,提问作者Schevenz Rs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:54:03