























from functools import reduce
from pydantic import BaseModel
from dataclasses import dataclass
a = {
"class1": [{"id": 1, "name": "马良"}, {"id": 2, "name": "李四"}],
"class2": [{"id": 3, "name": "马青"}, {"id": 4, "name": "王杰"}],
"class3": [{"id": 5, "name": "赵六"}, {"id": 6, "name": "孙七"}],
}
a1 = [
{"id": 1, "class": "class1", "name": "马良"},
{"id": 2, "class": "class1", "name": "李四"},
{"id": 3, "class": "class2", "name": "马青"},
{"id": 4, "class": "class2", "name": "王杰"},
{"id": 5, "class": "class3", "name": "赵六"},
{"id": 6, "class": "class3", "name": "孙七"},
]
b = [{**item, "class": key} for key, values in a.items() for item in values]
def myAdd(x, y):
if x.get(y["class"]):
x[y["class"]].append(y)
else:
x[y["class"]] = [y]
return x
b1 = reduce(myAdd, a1, {})
print(b1)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。