如何创建动态字典名称

时间:2014-02-04 10:27:25

标签: python dictionary

#!/usr/bin/python
count=3

for i in range(0,count):
    dict[i]= {}

这里我想创建3个(自count = 3)字典,如dict1,dict2,dict3。

3 个答案:

答案 0 :(得分:1)

您不需要一堆变量。你可以使用一系列的dicts。你的代码几乎完全正确。这是一个正确的版本:

#!/usr/bin/python
count=3

d = [{} for _ in range(count)]

# Instead of dict1/2/3, use d[0/1/2].

答案 1 :(得分:0)

如果出于某种原因,你真的(!)想要为字典(dict1,dict2,...)设置单个变量,那么你可以执行以下操作:

>>> count=3
>>> for i in range(0,count):
...     locals()['dict{}'.format(i)] = {}
...
>>> dict1
{}

locals()['dict{}'.format(i)] = {}将添加一个名为'dir {count}'的局部变量,并为其赋值。 locals()显示局部变量及其值。

请记住:只有在你真正知道自己在做什么的情况下才这样做。另请阅读Python documentation中关于locals的说明:“不应修改此词典的内容;更改可能不会影响解释器使用的本地和自由变量的值。”

答案 2 :(得分:-3)

你可以做出类似的事情:

count = 3
for i in range(0, count):
    exec("dict%d = %s" % (i + 1, {}))
print dict1
print dict2

输出: {} {}