Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将列表中的每一项转换为字典?_Python_Django - Fatal编程技术网

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。我已经更新了答案。谢谢我假设字符串的第一个值(在
之前)是唯一的。