如何创建空列表列表

dae*_*ter 10 python list

如果之前已经回答过,请道歉,但我在这里找不到类似的问题.

我是Python的新手,我想创建的内容如下:

list1 = []
list2 = []
results = [list1, list2]
Run Code Online (Sandbox Code Playgroud)

这段代码工作得非常好,但我想知道是否有更快的方法在一行中完成此操作.

我尝试了以下,但没有用,但我希望它能说明我所追求的事情:

result = [list1[], list2[]]
Run Code Online (Sandbox Code Playgroud)

另外,就复杂性而言,将它放在一条线上真的会有所不同吗?或者在两种情况下都是三项任务?

roe*_*and 27

对于任意长度列表,您可以使用 [ [] for i in range(N) ]

不要使用[ [] ] * N,因为这将导致列表包含相同的列表对象 N时间

  • 我希望我早点知道这一点。我正是犯了这个错误,并被一个错误严重咬伤,不得不调试几个小时。叹息:( (11认同)
  • 这个答案比被接受的答案更有帮助,因为它解释了为什么我们不应该使用`[[]] * N`。 (3认同)
  • ```[[] for _ in range(N)]``` 确认了更好的编码风格,因为索引变量被忽略。 (3认同)

Daw*_*y33 16

对于手动创建指定数量的列表,这会很好:

empty_list = [ [], [], ..... ]
Run Code Online (Sandbox Code Playgroud)

如果您想生成更多的列表,那么将其放入for循环中会很好:

empty_lists = [ [] for i in range(n) ]
Run Code Online (Sandbox Code Playgroud)