采用一个Python字典,其中的值作为列表,并创建一个新的字典列表,每个字典都有初始键和列表值

问题描述 投票:0回答:1

如果我有一本包含列表值的字典:

users = {'first-name': ['Jim', 'John', 'Jane'], 'last-name': ['Boothe', 'Smith', 'Doe'], 'user': ['100', '101', '102']}

如何创建一个新的字典列表,将初始字典列表的每个索引与初始键分开。

我的意思是给定上面的初始字典,我想创建以下内容:

payload = [{'first-name': 'Jim", 'last-name': 'Boothe', 'user': '100'}, {'first-name': 'John', 'last-name': 'Smith', 'user': '101'}, {'first-name': 'Jane', 'last-name': 'Doe', 'user': '102'} ]

我很难循环遍历每个键值索引并将其转换为带有初始键的新字典。

我已经排序了如何将我的第一本字典放入我的新列表,只是在循环其余索引时遇到问题。

users = {'first-name': ['Jim', 'John', 'Jane'], 'last-name': ['Boothe', 'Smith', 'Doe'], 'user': ['100', '101', '102']}

for k in users:
    dict[k] = users[k][0]
    payload = [dict]
print(payload)

输出:

[{'user': '100', 'first-name': 'Jim', 'last-name': 'Boothe'}]

但我该如何在此基础上继续发展呢?

python dictionary nested-lists
1个回答
0
投票

假设所有列表的长度始终相等:

result = [{key: value[i] for key, value in users.items()} for i in range(len(users["first-name"]))]
© www.soinside.com 2019 - 2024. All rights reserved.