如何将列表中字典集合中的每个元素组合到另一个字典集合列表中?

2024-09-27 07:23:53 发布

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

假设两个字典列表

l1 = [{'name': '1st Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '2nd Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '3rd Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '4th Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '5th Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '6th Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo'}, {'name': 'Final - TBC v TBC', 'place': 'R Premadasa Stadium, Colombo'}]
l2 = [{'date': 'Tue Mar 6'}, {'date': 'Thu Mar 8'}, {'date': 'Sat Mar 10'}, {'date': 'Mon Mar 12'}, {'date': 'Wed Mar 14'}, {'date': 'Fri Mar 16'}, {'date': 'Sun Mar 18'}]

我想把l2的元素和l1的元素结合起来,如下所示。你知道吗

 L3 = [{'name': '1st Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo','date': 'Tue Mar 6'}, {'name': '2nd Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo','date': 'Thu Mar 8'}, {'name': '3rd Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo','date': 'Sat Mar 10'}, {'name': '4th Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo','date': 'Mon Mar 12'}, {'name': '5th Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo','date': 'Wed Mar 14'}, {'name': '6th Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo','date': 'Fri Mar 16'}, {'name': 'Final - TBC v TBC', 'place': 'R Premadasa Stadium, Colombo','date': 'Sun Mar 18'}]

我可以使用哪个函数来执行此操作?你知道吗


Tags: namel1datematchplacemarfinalsri
3条回答

这应该会有帮助。你知道吗

l1 = [{'name': '1st Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '2nd Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '3rd Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '4th Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '5th Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '6th Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo'}, {'name': 'Final - TBC v TBC', 'place': 'R Premadasa Stadium, Colombo'}]
l2 = [{'date': 'Tue Mar 6'}, {'date': 'Thu Mar 8'}, {'date': 'Sat Mar 10'}, {'date': 'Mon Mar 12'}, {'date': 'Wed Mar 14'}, {'date': 'Fri Mar 16'}, {'date': 'Sun Mar 18'}]

l3 = []
for i in zip(l1, l2):
    val = i[0]
    val.update((i[1]))
    l3.append(val)
print l3 

输出:

[{'date': 'Tue Mar 6', 'place': 'R Premadasa Stadium, Colombo', 'name': '1st Match - Sri Lanka v India'}, {'date': 'Thu Mar 8', 'place': 'R Premadasa Stadium, Colombo', 'name': '2nd Match - Bangladesh v India'}, {'date': 'Sat Mar 10', 'place': 'R Premadasa Stadium, Colombo', 'name': '3rd Match - Sri Lanka v Bangladesh'}, {'date': 'Mon Mar 12', 'place': 'R Premadasa Stadium, Colombo', 'name': '4th Match - Sri Lanka v India'}, {'date': 'Wed Mar 14', 'place': 'R Premadasa Stadium, Colombo', 'name': '5th Match - Bangladesh v India'}, {'date': 'Fri Mar 16', 'place': 'R Premadasa Stadium, Colombo', 'name': '6th Match - Sri Lanka v Bangladesh'}, {'date': 'Sun Mar 18', 'place': 'R Premadasa Stadium, Colombo', 'name': 'Final - TBC v TBC'}]

你可以这样做:

l1 = [{'name': '1st Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '2nd Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '3rd Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '4th Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '5th Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo'}, {'name': '6th Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo'}, {'name': 'Final - TBC v TBC', 'place': 'R Premadasa Stadium, Colombo'}]
l2 = [{'date': 'Tue Mar 6'}, {'date': 'Thu Mar 8'}, {'date': 'Sat Mar 10'}, {'date': 'Mon Mar 12'}, {'date': 'Wed Mar 14'}, {'date': 'Fri Mar 16'}, {'date': 'Sun Mar 18'}]

res = [{**d[0],**d[1]} for d in zip(l1,l2)]
print(res)

输出:

[{'name': '1st Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo', 'date': 'Tue Mar 6'}, {'name': '2nd Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo', 'date': 'Thu Mar 8'}, {'name': '3rd Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo', 'date': 'Sat Mar 10'}, {'name': '4th Match - Sri Lanka v India', 'place': 'R Premadasa Stadium, Colombo', 'date': 'Mon Mar 12'}, {'name': '5th Match - Bangladesh v India', 'place': 'R Premadasa Stadium, Colombo', 'date': 'Wed Mar 14'}, {'name': '6th Match - Sri Lanka v Bangladesh', 'place': 'R Premadasa Stadium, Colombo', 'date': 'Fri Mar 16'}, {'name': 'Final - TBC v TBC', 'place': 'R Premadasa Stadium, Colombo', 'date': 'Sun Mar 18'}]

您可以查看here以了解如何合并词典。你知道吗

res = [{**x, **y} for x, y in zip(l1, l2)]

相关问题 更多 >

    热门问题