谢谢所有在这里帮忙的人
我有一份清单。这些列表包含如下词典:
combined lists = [
[
{'COMPANY': 'company1', 'NUMBER': '111', 'SHIPMENTS': ['1', '2', '3', '4']},
{'COMPANY': 'company2', 'NUMBER': '222', 'SHIPMENTS': ['1']},
{'COMPANY': 'company3', 'NUMBER': '333', 'SHIPMENTS': ['1', '4']},
{'COMPANY': 'company4', 'NUMBER': '444', 'SHIPMENTS': ['2', '5']},
{'COMPANY': 'company5', 'NUMBER': '555', 'SHIPMENTS': ['1', '3', '5', '9']}
],
[
{'COMPANY': 'company1', 'NUMBER': '111', 'SHIPMENTS': ['5', '6', '7', '8']},
{'COMPANY': 'company3', 'NUMBER': '333', 'SHIPMENTS': ['3', '5']},
{'COMPANY': 'company5', 'NUMBER': '555', 'SHIPMENTS': ['3', '5', '7']},
{'COMPANY': 'company7', 'NUMBER': '777', 'SHIPMENTS': ['2', '4']},
{'COMPANY': 'company9', 'NUMBER': '999', 'SHIPMENTS': ['1', '2', '5', '6', '7']}
],
]
我希望根据COMPANY
和SHIPMENTS
组合这些列表,并且不希望有重复的SHIPMENTS
值。NUMBER
键/值不相关
理想情况下,最终输出将是一个字典列表,该列表类似于以下内容,其中所有发货都是为公司合并的:
final_list = [
{'COMPANY': 'company1', 'SHIPMENTS': ['1', '2', '3', '4', '5', '6', '7', '8']},
{'COMPANY': 'company2', 'SHIPMENTS': ['1']},
{'COMPANY': 'company3', 'SHIPMENTS': ['1', '4', '3', '5']},
{'COMPANY': 'company4', 'SHIPMENTS': ['2', '5']},
{'COMPANY': 'company5', 'SHIPMENTS': ['1', '3', '5', '7', '9']},
{'COMPANY': 'company7', 'SHIPMENTS': ['2', '4']},
{'COMPANY': 'company9', 'SHIPMENTS': ['1', '2', '5', '6', '7']}
]
我知道我没有提供任何我尝试过的东西,但主要是寻找如何接近最终输出。如果有必要的话,我正在使用python3.6
我认为这应该解决你的问题
这里有一个解决方案,它使用集合来确保没有重复项,但它将丢失装运顺序
请注意,如果您只需要一份发货清单,而这实际上是字典中唯一的内容,那么更简单的解决方案是:
这就解决了问题,尝试一下,然后玩转它,您可以优化代码以获得更好的性能
希望,这有帮助
相关问题 更多 >
编程相关推荐