14

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

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

你会以同样的方式这样做,还是有类似的东西?

a = [{}*n]
4

1 回答 1

41

列出理解来救援!

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

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

另一种方法是创建一个只有一个字典[{}] * n的长度列表,引用时间。在向字典添加键时,这会导致令人讨厌的意外。nn

于 2013-04-05T13:31:06.760 回答