如何从列表中的字典创建单独的字典?

时间:2019-05-22 10:24:40

标签: python python-3.x list dictionary

我有一个包含几个字典的列表。我想将每个字典存储在单独的变量中。

数据类似于:

my_list = [{'key': 'value'}, {'key' : 'value'}]

我尝试了以下代码。

for i in range(len(data)):
    string = 'ticket' + str(i)
    exec('eval(string) = data[i]')

但是,当我运行代码时,它给了我无法分配给函数调用的错误。有什么办法让它评估字符串并将其赋值吗?我希望它执行以下操作:

ticket1 = data[1] 

1 个答案:

答案 0 :(得分:0)

一种更好的方法是拥有字典词典

#List of dictionaries
my_list = [{'key': 'value'}, {'key' : 'value'}]

#Dictionary of dictionaries
dct = {'data_{}'.format(idx): item for idx, item in enumerate(my_list)}

print(dct)

#Use keys to access inner dictionary
print(dct['data_0'])

输出将为

{'data_0': {'a': 1}, 'data_1': {'b': 2}}
{'a': 1}