创建一个空字典列表


问题内容

我想创建一个包含空目录的可变长度列表。

n = 10 # size of list
foo = []
for _ in range(n)
    foo.append({})

您会以相​​同的方式执行此操作,还是有类似的方法?

a = [{}*n]

问题答案:

列出对救援的理解!

foo = [{} for _ in range(n)]

恐怕没有更短的记号了。在Python 2中,您使用xrange(n)而不是range(n)避免实现无用的列表。

另一种方法是[{}] * n创建一个长度列表,该列表n仅包含 一个 字典(引用n时间)。将键添加到字典时,这会导致令人讨厌的意外。