我想列出一个字典列表,每次我迭代某个要更新字典的代码时,都可以在更新的字典后附加一个新名称(索引)。
dict = {'Key1': 'Value1'
'Key2': 'Valeu2'
}
list1 = [dict1, dict2, dictx, ....]
所以基本上我定义了dict,然后我第一次运行循环,现在我想发生的是,该dict将根据代码进行更新,然后通过名称dict1和第二次迭代添加到list1这将是dict2,依此类推。当然,每个词典都有自己的项目。
答案 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'}