如何创建动态词典名称

2024-04-16 10:42:26 发布

您现在位置:Python中文网/ 问答频道 /正文

#!/usr/bin/python
count=3

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

这里我想创建3个(因为count=3)字典,比如dict1、dict2、dict3。在


Tags: infor字典binusrcountrangedict
3条回答

如果你真的出于什么原因(!)如果要为字典(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的注释:“不应修改本词典的内容;更改不得影响解释器使用的本地和自由变量的值。”

你不需要一堆变量。你可以只使用一个dict数组。你的代码几乎正确无误。以下是正确的版本:

#!/usr/bin/python
count=3

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

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

你可以这样做:

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

输出: {} {}

相关问题 更多 >