<p>谢谢你的回复。我也在发布我的方法</p>
<pre><code>class LaptopNode:
def __init__(self, manufacturer_id):
self.manufacturer_name = None
self.manufacturer_id = manufacturer_id
self.child_models = []
def add_child_device(self, child_model):
self.child_models.append(child_model)
if __name__ == "__main__":
modified_list = []
# Remove duplicate parents
parent_laptop_set = {laptop['manufacturer_id'] for laptop in laptop_list}
# Create a instance for each parent
laptop_instance_dictt = {manufacturer_id: LaptopNode(manufacturer_id) for manufacturer_id in parent_laptop_set}
# Iterate through original list and map child models to parent
for laptop in laptop_list:
model = laptop_instance_dictt[laptop['manufacturer_id']]
model.manufacturer_name = laptop['manufacturer_name']
model.add_child_device({'model_name': laptop['model_name'], 'model_number': laptop['model_number']})
for laptop_instance in laptop_instance_dictt.values():
modified_list.append(
{"manufacturer_id": laptop_instance.manufacturer_id, "manufacturer_name": laptop_instance.manufacturer_name,
"models": laptop_instance.child_models})
print(modified_list)
</code></pre>