我有两个列表,每个列表包含字典:

list1 = [{'user':'John'},{'user':'Micheal'},{'user':'Sara'}]
list2 = [{'Status':'Active'},{'Status':'Active'},{'Status':'Inactive'}]


这些值在列表之间相对应,例如两个列表的索引0显示用户John处于活动状态,两个列表的索引1显示用户Michael处于非活动状态。
我想创建一个新的函数来做到这一点:

listsjoiner(list1,list2)


输出:

[{'user':'John','Status':'Active'},{'user':'Michael','status':'Active'},['user':'Sara','status':'Inactive}]

最佳答案

由于似乎两个列表都按照您希望它们加入的顺序排序,因此您可以将列表理解与*运算符(使用splatting)一起使用以获得所需的结果。例如:

list1 = [{'user':'John'},{'user':'Micheal'},{'user':'Sara'}]
list2 = [{'Status':'Active'},{'Status':'Active'},{'Status':'Inactive'}]

results = [{**list1[i], **list2[i]} for i in range(len(list1))]

print(results)

# OUTPUT
# [{'user': 'John', 'Status': 'Active'}, {'user': 'Micheal', 'Status': 'Active'}, {'user': 'Sara', 'Status': 'Inactive'}]

关于python - 连接包含多个字典的多个列表以创建一个列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52615494/

10-09 20:18
查看更多