Python:如何制作深度为n的嵌套列表?

时间:2014-10-19 23:01:50

标签: python list nested-lists

我想列出深度为n的列表...

当然,我使用:

a = []
for i in range(n - 1):
    a = [a]
print a

例如,如果n = 3我得到了[[[ ]]]

这样做是否是最清晰,更pythonic的方式?

2 个答案:

答案 0 :(得分:0)

是的,我认为你已经有了最好的方法。它更快,并且没有受到@Aleksi提到的限制

替代方法是编写递归函数或使用eval

eval('['*n + ']'*n)  # much slower than a for loop!

答案 1 :(得分:0)

Pythonic 足够吗?

>>> n = 5
>>> map(lambda i: (lambda f, *a: f(f, [], *a))(lambda rec, k, i: k if i == 2 else rec(rec, [k], i-1), i), [n])
[[[[[]]]]]