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

如何使用Python创建指定深度的嵌套空列表对象?

实现指定嵌套深度的嵌套列表(Python)

假设我们需要根据输入的正整数n,生成一个嵌套深度恰好等于n的列表——最外层是一个列表,第二层列表嵌套在第一层里,第三层嵌套在第二层里,以此类推,最终形成类似[[[]]](当n=3时)的结构。以下是几种实用的实现方式:

方法一:循环迭代(直观易懂)

这种方式通过迭代逐步构建嵌套结构,适合新手理解:

# 接收用户输入的正整数
n = int(input("请输入一个正整数: "))

# 初始化最外层列表
result = []
current_layer = result

# 循环n-1次,每次往当前最内层添加新的空列表
for _ in range(n - 1):
    new_layer = []
    current_layer.append(new_layer)
    current_layer = new_layer

# 输出结果
print(result)

逻辑说明:初始的result是第一层列表,我们用current_layer跟踪当前需要添加子列表的层级。每循环一次就创建一个新空列表,把它加入当前层级,再将current_layer指向这个新列表,直到完成n-1次嵌套(因为初始已经是1层结构)。

方法二:递归实现(简洁优雅)

如果偏好递归逻辑,可以用递归函数来生成嵌套列表:

def build_nested_list(depth):
    # 终止条件:深度为1时返回空列表
    if depth == 1:
        return []
    # 递归生成深度减1的嵌套列表,并将其包裹在一个新列表中
    return [build_nested_list(depth - 1)]

# 接收输入并生成结果
n = int(input("请输入一个正整数: "))
print(build_nested_list(n))

逻辑说明:当要求的深度为1时,直接返回空列表;深度大于1时,返回一个包含“深度减1的嵌套列表”的新列表,通过递归逐步构建出指定深度的嵌套结构。

方法三:简洁的一行式迭代

如果追求代码简洁,可以用更紧凑的迭代写法:

n = int(input("请输入一个正整数: "))
result = []
for _ in range(n - 1):
    result = [result]
print(result)

逻辑说明:每次迭代都将当前的result包裹在一个新列表中,迭代n-1次后,就得到了深度为n的嵌套列表。

测试示例

  • 输入1,输出[]
  • 输入2,输出[[]]
  • 输入4,输出[[[[]]]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:31:16