创建一个空字典列表

Mar*_*cka 11 python dictionary list

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

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

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

a = [{}*n]
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 31

列出对救援的理解!

foo = [{} for _ in range(n)]
Run Code Online (Sandbox Code Playgroud)

恐怕没有简短的记谱法.在Python 2中,您使用xrange(n)而不是range(n)避免实现无用的列表.

替代方案,[{}] * n创建一个长度列表,n只有一个字典,引用n次数.当向字典添加键时,这会导致令人讨厌的意外.

  • @MartinFlucka:使用`[{}]*3`并不是一个好习惯,即使这只是针对JSON的; 你会发现自己忘记了那个小细节,当你以后添加键和值时,你会遇到令人讨厌的惊喜. (7认同)