如何在python中创建任意数量的字典/列表(具有不同的名称)?

时间:2014-07-02 05:45:03

标签: python variables dictionary

我试图像这样创建#arb词典:( arb = 2或4或某些数字)

for n in xrange(0, arb):
    dictn = {}

然而我意识到python并没有在方程式的左侧采用变量。所以我很困惑。如何使用不同名称的#arb词典或列表?例如list1listndict1dictn

我知道这可能听起来很愚蠢,但我不擅长程序而且非常困惑。任何建议都会有所帮助,谢谢

2 个答案:

答案 0 :(得分:2)

尝试创建这样的变量并没有多大意义。如果您需要一次性动态创建多个词典或列表,则应将它们放在容器中。一个列表就可以了,或者如果你对键有所了解,那么为什么不用dict?

示例:

>>> arb = 4
>>> dicts = [{} for _ in range(arb)]
>>> print(dicts)
[{}, {}, {}, {}]

或词典词典:

>>> arb = 4
>>> dicts = {"dict_{}".format(i): {} for i in range(arb)}
>>> print(dicts)
{'dict_0': {}, 'dict_1': {}, 'dict_2': {}, 'dict_3': {}}

答案 1 :(得分:0)

创建一个dict容器,每个键都是名称的var。试试这个

container_dict = {}
arb= 4
for n in xrange(0, arb):
    #for dicts
    container_dict["dict%i" % n] = {}
    #for lists
    container_dict["list%i" % n] = []

%i将插入索引,因此键将从0到arb-1

>>> container_dict
{'dict1': {}, 'dict0': {}, 'dict3': {}, 'dict2': {}, 'list1': [], 'list0': [], 'list3': [], 'list2': []}