Python中长度为n的空列表序列?

hel*_*ndy 3 python list sequence

在python中[]*2,给出[]

[[],[]]取而代之的最简单的方法是什么?

mgi*_*son 6

你可能想要:

[[] for _ in range(n)]
Run Code Online (Sandbox Code Playgroud)

不同的是[[]] * n,这将为您提供独特的内部列表(附加到一个列表并不会附加到所有列表中).例如:

>>> x = [[] for _ in range(n)]
>>> x[0].append(1) 
>>> x
[[1], [], []]
Run Code Online (Sandbox Code Playgroud)

相比:

>>> x = [[]] * 3
>>> x[0].append(1)
>>> x
[[1], [1], [1]]
Run Code Online (Sandbox Code Playgroud)

请注意,后一个idiom([[]] * n)是一个非常常见的错误,它会在不同的环境中频繁出现.