以下是一个示例代码,用于将按属性分组的对象数组转换为对象数组:
def group_to_array(objects, key):
result = []
for obj in objects:
for group in obj[key]:
new_obj = obj.copy()
new_obj[key] = group
result.append(new_obj)
return result
# 示例用法
objects = [
{"id": 1, "groups": ["A", "B"]},
{"id": 2, "groups": ["C", "D"]},
{"id": 3, "groups": ["E", "F"]}
]
key = "groups"
result = group_to_array(objects, key)
print(result)
输出结果为:
[
{"id": 1, "groups": "A"},
{"id": 1, "groups": "B"},
{"id": 2, "groups": "C"},
{"id": 2, "groups": "D"},
{"id": 3, "groups": "E"},
{"id": 3, "groups": "F"}
]
在这个示例中,group_to_array
函数接受一个对象数组和一个属性键作为参数。它遍历每个对象,并为每个属性值创建一个新的对象,将原始对象的其他属性复制到新对象中。最后,它将所有新对象添加到结果数组中并返回。