从嵌套的lis创建嵌套的dict

2024-04-26 18:56:49 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用python将嵌套列表的列表转换为嵌套的命令行?你知道吗

students = [[1, 'John', 'Smith'], [2, 'Anna', 'Jones']]

students_dict = {'1': {'name': 'John', 'surname': 'Smith'},
             '2': {'name': 'Anna', 'surname': 'Jones'}}

Tags: 命令行name列表surnamejohndictsmithjones
2条回答

您可以使用解包:

students = [[1, 'John', 'Smith'], [2, 'Anna', 'Jones']]
result = {a:dict(zip(['name', 'surname'], b)) for a, *b in students}

输出:

{1: {'name': 'John', 'surname': 'Smith'}, 2: {'name': 'Anna', 'surname': 'Jones'}}

您的子词典的关键字是:

keys = ["name", "surname"]

通过将键和值(在第一个元素之后)压缩到一起来创建子字典,并将第一个元素作为键添加到外部字典:

students_dict = {d[0] : dict(zip(keys, d[1:])) for d in students}

相关问题 更多 >