如何在Python中使用递归创建嵌套列表?

时间:2015-03-30 13:41:59

标签: python

例如,如果我想要一个像这样的列表: [2,4,[5,1]]

如何使用递归实现生成此代码的代码?

1 个答案:

答案 0 :(得分:0)

这完全取决于您希望如何生成特定值。他们随机抽签吗?它们来自其他一些数据源吗?

但是一旦描述了那个部分,就可以像往常一样制作一个递归函数。例如,假设您只想要某些值的递归副本。然后你可以这样做:

def make_list(levels, num_elems):
    if levels > 0:
       return range(num_elems) + [make_list(levels-1, num_elems)]
    else:
       return range(num_elems)

例如:

In [3]: make_list(2, 2)
Out[3]: [0, 1, [0, 1, [0, 1]]]