【问题标题】:How to Merge Python List containing dictionaries into one final list如何将包含字典的 Python 列表合并到一个最终列表中
【发布时间】:2020-12-25 19:00:39
【问题描述】:

这是我的清单:

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'},
    {'price': '26,797'}, {'price': '29,179'}, {'price': '29,774'},
    {'price': '46,686'}, {'price': '47,162'}, {'price': '51,807'},
    {'price': '52,402'}]

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

预期结果:

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

它们具有相同的 len() 和相同的 order/range()

【问题讨论】:

    标签: python arraylist python-requests python-3.6


    【解决方案1】:

    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'}, {'price': '26,797'}, {'price': '29,179'}, {'price': '29,774'}, {'price': '46,686'}, {'price': '47,162'}, {'price': '51,807'}, {'price': '52,402'}]
    
    occupancy = [{'occupancy': 2}, {'occupancy': 2}, {'occupancy': 2}, {'occupancy': 2}, {'occupancy': 3}, {'occupancy': 3}, {'occupancy': 3}, {'occupancy': 3}, {
        'occupancy': 4}, {'occupancy': 4}, {'occupancy': 4}, {'occupancy': 4}, {'occupancy': '6'}, {'occupancy': '6'}, {'occupancy': '6'}, {'occupancy': '6'}]
    
    result = [{**m, **n} for m, n in zip(prices, occupancy)]
    

    输出:

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

    【讨论】:

    • 谢谢。这很有魅力,也许我需要了解一下 Zip
    猜你喜欢
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 2017-11-27
    • 2021-11-03
    • 2011-03-30
    相关资源
    最近更新 更多