Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Dictionary_Nested_Key - Fatal编程技术网

Python 如何将列表转换为列表中嵌套字典的键?

Python 如何将列表转换为列表中嵌套字典的键?,python,list,dictionary,nested,key,Python,List,Dictionary,Nested,Key,我想将我的\u列表转换为嵌套在嵌套\u列表中的词典的键。请参见以下列表: 我目前有: my_list = ['Person1', 'Person2', 'Person3'] nested_list = [{'Age': '12', 'Height': '160'}, {'Age': '20', 'Height': '170'}, {'Age': '25', 'Height': '175'}] final_list = [{'Person1':{'Age':'12', 'Height': '1

我想将我的\u列表转换为嵌套在嵌套\u列表中的词典的键。请参见以下列表:

我目前有:

my_list = ['Person1', 'Person2', 'Person3']

nested_list = [{'Age': '12', 'Height': '160'}, {'Age': '20', 'Height': '170'}, {'Age': '25', 'Height': '175'}]
final_list = [{'Person1':{'Age':'12', 'Height': '160'}}, {'Person2': {'Age':'20', 'Height': '170'}}, {'Person3': {'Age':'25', 'Height': '175'}}]```

所需输出:

my_list = ['Person1', 'Person2', 'Person3']

nested_list = [{'Age': '12', 'Height': '160'}, {'Age': '20', 'Height': '170'}, {'Age': '25', 'Height': '175'}]
final_list = [{'Person1':{'Age':'12', 'Height': '160'}}, {'Person2': {'Age':'20', 'Height': '170'}}, {'Person3': {'Age':'25', 'Height': '175'}}]```


您可以通过列表理解获得:

my_list = ['Person1', 'Person2', 'Person3']

nested_list = [{'Age': '12', 'Height': '160'}, {'Age': '20', 'Height': '170'}, {'Age': '25', 'Height': '175'}]

final_list = [{person:description} for person, description in zip(my_list, nested_list)]
print(final_list)
输出:

[{'Person1': {'Age': '12', 'Height': '160'}}, {'Person2': {'Age': '20', 'Height': '170'}}, {'Person3': {'Age': '25', 'Height': '175'}}]
这是我的功能

def combine(l, nl):
    final_list = []
    for i in range(len(l)):
        final_list += [{l[i]: nl[i]}]
    return final_list 
有了这个函数,你可以像这样使用

combine(my_list, nested_list)
并得到结果

[{'Person1':{'Age':'12','Height':'160'},{'Person2':{'Age':'20','Height':'170'},{'Person3':{'Age':'25','Height':'175'}]