如何将包含字典的Python列表合并到一个最终列表中

问题描述

这是我的列表:

prices = [
    {'price': '19,294'},{'price': '20,365'},{'price': '21,437'},{'price': '22,628'},{'price': '25,963'},{'price': '26,439'},{'price': '28,821'},{'price': '29,417'},320'},797'},179'},774'},{'price': '46,686'},{'price': '47,162'},{'price': '51,807'},{'price': '52,402'}]

occupancy = [
    {'occupancy': 2},{'occupancy': 2},{'occupancy': 3},{'occupancy': 4},{'occupancy': '6'},{'occupancy': '6'}]

预期结果:

results = [
    {'price': '19,294','occupancy': 2},365',402','occupancy': '6'},.....]

它们具有相同的len()和相同的阶数/范围()

解决方法

zip用于列表理解

例如:

prices = [{'price': '19,294'},{'price': '20,365'},{'price': '21,437'},{'price': '22,628'},{'price': '25,963'},{'price': '26,439'},{'price': '28,821'},{'price': '29,417'},{
    'price': '26,320'},797'},179'},774'},{'price': '46,686'},{'price': '47,162'},{'price': '51,807'},{'price': '52,402'}]

occupancy = [{'occupancy': 2},{'occupancy': 2},{'occupancy': 3},{
    'occupancy': 4},{'occupancy': 4},{'occupancy': '6'},{'occupancy': '6'}]

result = [{**m,**n} for m,n in zip(prices,occupancy)]

输出:

[{'occupancy': 2,'price': '19,{'occupancy': 2,'price': '20,'price': '21,'price': '22,{'occupancy': 3,'price': '25,'price': '26,'price': '28,'price': '29,{'occupancy': 4,{'occupancy': '6','price': '46,'price': '47,'price': '51,'price': '52,402'}]