我想列出深度为n的列表...
当然,我使用:
a = []
for i in range(n - 1):
a = [a]
print a
例如,如果n = 3
我得到了[[[ ]]]
。
这样做是否是最清晰,更pythonic的方式?
答案 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])
[[[[[]]]]]