Python-创建带有索引名称的对象

时间:2018-09-05 07:06:41

标签: python

我想列出一个字典列表,每次我迭代某个要更新字典的代码时,都可以在更新的字典后附加一个新名称(索引)。

 dict = {'Key1': 'Value1'
         'Key2': 'Valeu2'
         }   

 list1 = [dict1, dict2, dictx, ....]

所以基本上我定义了dict,然后我第一次运行循环,现在我想发生的是,该dict将根据代码进行更新,然后通过名称dict1和第二次迭代添加到list1这将是dict2,依此类推。当然,每个词典都有自己的项目。

1 个答案:

答案 0 :(得分:0)

假设您的字典确实存在于某处-您可以将其名称存储为字符串列表,并在以后需要时使用eval()“提取”它们

mydict0 = {'Key1': 'Value1', 'Key2': 'Valeu2'}
mydict1 = {'Key1': 'Value1', 'Key2': 'Valeu2'}
mydict2 = {'Key1': 'Value1', 'Key2': 'Valeu2'}
mydict3 = {'Key1': 'Value1', 'Key2': 'Valeu2'}

mylist = ["mydict0", "mydict1", "mydict2", "mydict3"]

> eval(mylist[0])
> {'Key1': 'Value1', 'Key2': 'Valeu2'}

或者,如果您动态创建字典,则可以创建字典词典:

dict_of_dicts = {}

for i in range(20):
    key = "mydict{}".format(i)
    value = {'Key1': 'Value1', 'Key2': 'Valeu2'}   
    dict_of_dicts[key] = value

> dict_of_dicts

{'mydict0': {'Key1': 'Value1', 'Key2': 'Valeu2'},
 'mydict1': {'Key1': 'Value1', 'Key2': 'Valeu2'},
 'mydict2': {'Key1': 'Value1', 'Key2': 'Valeu2'},
 ...

> dict_of_dicts["mydict0"]
> {'Key1': 'Value1', 'Key2': 'Valeu2'}