Python 如何将列表中的每一项转换为字典?
我这里有一张这样的清单Python 如何将列表中的每一项转换为字典?,python,django,Python,Django,我这里有一张这样的清单 ls = ['Small:u', 'Small:o'] dict1 = {'Small':'u'} dict2 = {'Small':'o'} 我想要的是创建一个每个列表项的字典,如下所示 ls = ['Small:u', 'Small:o'] dict1 = {'Small':'u'} dict2 = {'Small':'o'} 我怎么做?有可能吗?是的,有可能,但有一件事我不确定是否有可能(或一个好主意),那就是以编程方式为新字典分配变量名,因此更简单的方法是
ls = ['Small:u', 'Small:o']
dict1 = {'Small':'u'}
dict2 = {'Small':'o'}
我想要的是创建一个每个列表项的字典,如下所示
ls = ['Small:u', 'Small:o']
dict1 = {'Small':'u'}
dict2 = {'Small':'o'}
我怎么做?有可能吗?是的,有可能,但有一件事我不确定是否有可能(或一个好主意),那就是以编程方式为新字典分配变量名,因此更简单的方法是创建一个字典字典:
dic_of_dics = {}
for index, item in enumerate(ls):
i, j = item.split(':')
dic_of_dics[f'dict{index}'] = {i : j}
这是另一种方式:
ls = ['Small:u', 'Small:o']
dict_list = []
for i in ls:
k, v = i.split(':')
dict_list.append({k: v})
print(dict_list)
print(dict_list[1].values())
也许用最少的一行:
ls = ['Small:u', 'Small:o']
dict_list = map(lambda x:dict([x.split(':')]), ls)
# for python3: print(list(dict_list))
# for Python2: print(dict_list)
说明:我正在使用map
函数将字符串列表转换为列表列表。然后我将它传递给dict(将它们转换为字典)。>x=[dict([pair.split(“:”,1)],用于['Small:u',Small:o']]
>>>x
[{'Small':'u'},{'Small':'o'}]
您是否运行了此操作?这将导致{“Small”:“o”}
.Oops。我已经更新了答案。谢谢我假设字符串的第一个值(在:
之前)是唯一的。